2013-10-24 59 views
0

什麼是使用jQuery「擁有」文本輸入的最佳方式,以便我可以輸入它,從「擁有」發生的代碼中監聽事件,但以其他方式阻止任何其他JavaScript接收到​​和keyup事件。如何使用jQuery自定義文本輸入?

+2

阻止它傳播的事件。 –

+0

http://api.jquery.com/event.stopPropagation – Blazemonger

+0

並停止立即傳播 –

回答

0

您可以從propogating

停止的事件我們可以用event.isPropagationStopped(),以確定這種方法 被稱爲有史以來(該事件對象)。

此方法也適用於使用trigger()觸發的自定義事件。

請注意,這不會阻止同一元素 上的其他處理程序運行。

0

直接在元素上設置一個事件處理程序,並使用stopImmediatePropagation(),這樣即使元素上的其他處理程序也不會運行。對於某些元素類型,您可能還需要preventDefault()

確保您的事件處理程序直接在元素上,而不是使用委託/活動表單,或者在事件冒泡到處理程序之前觸發其他處理程序。

如果元素在腳本運行之前在頁面上,其他的東西可能已經有機會添加事件處理程序。在這種情況下,您可以在添加自己的元素之前刪除元素上已有的任何事件處理程序。您可以使用$._data(*element*,"events")獲取事件處理程序的對象,然後遞增鍵以查找事件的所有名稱,並刪除該對象上的所有事件處理程序。

相關問題