У меня есть следующий код, который отлично работает до сих пор, 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);
});
генерировать-code.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();
...
$("#generate_code").click(function(event)
сейчас, похоже, работает