[坑-submit()方法調用沒法觸發submit事件]

今天在寫表單時,在表單中把<button>的type設置爲'button',在js中經過click事件綁定來手動觸發form的表單提交(form.submit()),同時註冊了一個submit()的事件監聽,結果發現這種方式如何也沒法觸發onsubmit事件..chrome

 google/baidu以後,找到一段關於這個緣由的說明測試

The submit method does not invoke the onsubmit event handler. Call the onsubmit event handler directly. When using Microsoft® Internet Explorer 5.5 and later, you can call the fireEvent method with a value of onsubmit in the sEvent parameter. 網站

簡譯爲:google

submit方法不可以調用onsubmit事件句柄器, 請直接調用onsubmit事件句柄。當使用IE5.5+,你可以調用觸發事件方法的onsubmit在sEvent上的參數值spa

同時在w3school.com.cn的網站上也對此有說明:firefox

  該方法提交表單的方式與用戶單擊 Submit 按鈕同樣,可是表單的 onsubmit 事件句柄不會被調用orm

不只在IE5.5以後,經測試在firefox,和chrome上也沒有對該事件的句柄進行調用。因此請在須要觸發前手動調用,好比kissy中,Node.fire('submit');事件

在利用fireEvent也能夠。不過須要注意兼容性問題..it

關於如何建立自定義事件可看。。event

相關文章
相關標籤/搜索