【问题标题】:Jquery change/focus/blur overrides submit in FirefoxjQuery 更改/焦点/模糊覆盖 Firefox 中的提交
【发布时间】:2012-01-29 15:45:40
【问题描述】:

给出了一个带有单个文本字段的表单。提交处理程序绑定在表单上,​​更改/焦点/模糊处理程序绑定在文本字段上。

当在文本字段中输入内容并单击提交按钮时,只有更改/聚焦/模糊事件会在 Firefox 中注册,而在 Safari 中,两者都会注册。

形式:

<form id="form1" action="" method="get">
<input id="text1" name="text1" type="text" />
<input id="submit1" name="submit1" type="submit" />
</form>

Jquery 代码:

$(document).ready(function(){
 $('#text1').change(function(){ alert("1"); });
 $('#form1').submit(function(){ alert("2"); });
});

在 Firefox 中:“1”被警告。 在 Safari 中,“1”被警告,然后“2”被警告。

如何让 Safari 中的行为在 Firefox 中正常工作?

【问题讨论】:

    标签: jquery forms focus submit


    【解决方案1】:

    这里的问题看起来是由alert 引起的。

    如果您在没有alert 的情况下运行代码或将其更改为console.log,则代码的行为与您预期的一样,更改和提交事件都会被触发。

    $(function() {
    
      $('#text1').change(function() {
        console.log("change");
      });
    
      $('#form1').submit(function() {
        console.log("submit");
        return false;
      });
    });
    

    由于您不想在生产代码中使用alert,因此您应该能够在不进行任何更改的情况下获得想要的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-20
      • 2012-08-03
      • 2015-10-20
      • 2012-10-22
      • 1970-01-01
      • 2014-01-23
      • 1970-01-01
      相关资源
      最近更新 更多