event.preventDefault()在Chrome中工作,而不是Firefox用于提交按钮

时间:2012-01-12 16:34:18

标签: jquery

我有以下提交按钮:

 <input type="submit" name="submit" value="Send" class="mybutton" />

当我使用以下代码时

$(document).ready(function(){
        $("#submit").submit(function(){
                event.preventDefault();
                console.log('test');
        }
});

我的网页在Firefox中令人耳目一新,但不是Chrome。有人能指出我正确的方向吗?

我想使用提交按钮进行jQuery .ajax调用(不是常规表单提交)

5 个答案:

答案 0 :(得分:21)

您需要确保将event添加到事件功能的参数列表中。我认为某些浏览器具有全局event,这就是它在某些浏览器中有效的原因。

$(document).ready(function(){
   $("#submit").submit(function(event){  // The event is passed to this function
      event.preventDefault();
      console.log('test');
   }
});

答案 1 :(得分:7)

您是否尝试将事件作为变量传递?

$(document).ready(function(){
    $("#submit").submit(function(e){
            e.preventDefault();
            console.log('test');
    }
 });

答案 2 :(得分:3)

在函数回调中传递event参数试试这个

$(document).ready(function(){
        $("#submit").submit(function(event){
                event.preventDefault();
                console.log('test');
        }
});

答案 3 :(得分:1)

只需在onclick函数中点击提交按钮,就像这样写下来

onclick="return myfunction();"

并在函数语句

myfunction () {
return false;};

答案 4 :(得分:0)

您没有将事件添加到功能参数中 修正版:

$(document).ready(function(){
        $("#submit").submit(function(event){
                event.preventDefault();
                console.log('test');
        }
});