event.preventDefault();停止在FF工作

event.preventDefault(); stopped working in FF

本文关键字:FF 工作 preventDefault event      更新时间:2023-09-26

我有以下代码,直到现在才正常工作,event.preventDefault(); 似乎没有在 FireFox 中触发?在Chrome中,代码仍然可以正常工作,但是在Firefox中,它将我带到空白页,我在那里看到生成的代码。

    $("#generate_code").click(function(){
        event.preventDefault();
        $('#code').html('Generating Code..');
        hideshow('loading',1);
        setTimeout(function() {
            $.get("generate-code.php", function(data) {
                $("#code").html(data);
            });
            hideshow('loading',0);
        }, 2000);
   });

生成代码.php:

function generateRandomString($length = 50) {
    $characters = '!@#$%^&*()0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, strlen($characters) - 1)];
    }
    return $randomString;
}
$invitecode = generateRandomString();
echo $invitecode;
您应该在作为

参数传递给处理程序的事件对象上调用preventDefault,以确保一切跨浏览器工作。

$("#generate_code").click(function(e){
    e.preventDefault();
    ...