![](/img/trans.png)
[英]Why does the form submit event fire when I have stopped propagation at the submit button level?
[英]Why does $.change() fire on a submit button?
我有一個$.change()
事件,但是當按下“提交”按鈕時,change事件再次觸發。 僅當將文本輸入到輸入文本框中時才觸發一次。
$('input:submit', top.document).bind('click', function (e) {
alert("submitting")
});
$('input').change(function (e) {
alert("fire");
});
編輯:無論出於何種原因,單擊輸入按鈕時都會調用change事件。 (感謝安東尼)
解決此問題的方法就是根本不選擇“提交”按鈕。
你可以試試
$('input:text')
僅選擇文本字段。
或者你可以做
$('input:not(:submit)')
選擇除提交按鈕以外的所有輸入元素。
編輯:使用<button>
代替將不起作用。 它仍然算作input
字段,但其值與按鈕上顯示的文本分開。
$('input').change(function(e){ alert("fire") });
將該事件應用於所有輸入元素,包括<input type="submit".../>
。 如果您確實希望每個文本輸入元素都具有更改事件,則希望``$('input [type = text]')。change(function(e){alert(“ fire”)});`否則,最好使用id或class。
@標記,
您已准備就緒,如果可以幫助,我會編輯您。 也許很快有一天...
@ajowi,
提交按鈕是輸入。 至少其中大多數是:
<input type="submit" />
所以,馬克,不是他們對按鈕文本做任何事情,而是通過單擊按鈕來更改輸入(即按鈕)。
所以他的解決方案很棒。 一起去
$("input:text").change
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.