我有一个 $.change()
事件,但是当按下提交按钮时,更改事件会再次触发。当文本输入到输入文本框中时,它应该只触发一次。
$('input:submit', top.document).bind('click', function (e) {
alert("submitting")
});
$('input').change(function (e) {
alert("fire");
});
最佳答案
编辑:无论出于何种原因,单击输入按钮时都会调用更改事件。 (感谢安东尼)
解决此问题的方法就是不要选择提交按钮。
你可以试试
$('input:text')
仅选择文本字段。
或者你也可以这样做
$('input:not(:submit)')
选择除提交按钮之外的所有输入元素。
编辑:使用<button>
相反不会工作。它仍然算作 input
字段,但它的值与按钮上显示的文本是分开的。
关于javascript - 为什么 $.change() 会在提交按钮上触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1549515/