0
當基於按鈕單擊事件動態地從另一個JavaScript庫觸發該事件時,是否可以捕獲表單提交事件?從另一個庫提交時捕獲表單提交
當基於按鈕單擊事件動態地從另一個JavaScript庫觸發該事件時,是否可以捕獲表單提交事件?從另一個庫提交時捕獲表單提交
您可以嘗試綁定提交事件偵聽器。
HTML示例:
<form id="form" action="javascript:alert('form submitted !!!')">
<input id="btn" type="submit">
</form>
例的javascript:
$('form').submit(function(e) {
if (!confirm('Are you sure you want to submit?')) {
return false;
}
});
//1: simulate a click event triggered directly
window.setTimeout('alert("simulating click ...");document.getElementById("btn").click();', 3000);
//2: simulate a submit event triggered directly
window.setTimeout('alert("simulating submit ...");document.getElementById("form").submit();', 6000);
//3: simulate a click event triggered by jQuery
window.setTimeout('alert("simulating $.click ...");$("#btn").click();', 9000);
//4: simulate a submit event triggered by jQuery
window.setTimeout('alert("simulating $.submit ...");$("#form").submit();', 12000);
您可以測試這個jsFiddle live example。
點擊該按鈕(或直接在DOM節點上調用.click()
)或使用$.submit
觸發攔截器事件,而是直接對DOM形式節點失敗使用$.click
或.submit()
呼叫。
所以1和4的工作,2和3不
(需要更多的調查)