簡體   English   中英

檢測到提交事件是由於按鈕單擊引起的

[英]Detecting submit event is raised because of button click

是否可以找出是否由於引發了onclick事件而引發了onsubmit事件? 例如,當單擊<input type="submit" /> ,將引發onclick事件,然后引發onsubmit事件。 但是,有時會發生表單未提交即未提交onsubmit的情況。

重現步驟(表單是ajax表單,並且會刷新,已在IE10上測試):
1)點擊按鈕提交表單,
2)ajax請求完成並更新了表單,
3)5毫秒后,再次單擊該按鈕(與步驟1中的方法相同),但是這次觸發了onclick,但沒有觸發onsubmit。 如果我單擊按鈕,例如在表單刷新后500毫秒,一切都很好

我用
$("form input[type=submit], form input[type=image]").live("click", function (e) { console.log("click"); }
$("form").live("submit", function (e) { console.log("submit"); }
看到沒有提交onsubmit

謝謝

不確定您的意思,但我無法在Firefox中重現,也不應該使用.live:

http://api.jquery.com/live/

從jQuery 1.7開始,不推薦使用.live()方法。 使用.on()附加事件處理程序。 較舊版本的jQuery的用戶應優先使用.delegate()而不是.live()。

$(document).ready(function(){
    $("#form").delegate(null,"submit", function(){
        console.log("submitting");
        return false;
    });
    $("#submit").click();
    $("#submit").click();
    $("#submit").click();
    $("#submit").click();
});


<form id="form">
    <input type="submit" id="submit"></input>
</form>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM