在Firefox中提交Jquery更改/焦点/模糊覆盖提交

时间:2010-10-26 17:39:59

标签: jquery forms focus submit

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

当在文本字段中输入内容并单击提交按钮时,仅在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中运行?

1 个答案:

答案 0 :(得分:0)

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

如果您运行不带alert的代码或将其更改为console.log,则代码的行为与预期一致,同时触发更改和提交事件。

$(function() {

  $('#text1').change(function() {
    console.log("change");
  });

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

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