我知道我們可以使用jQuery on()
函數附加事件,並使用off()
再次刪除它們。使用jquery off()。on()或只是()
在現有的項目中,我有時也會遇到類似的代碼如下:
$("#SomeId").off("click").on("click");
或有時使用命名空間類似於這樣的時候:
$("#SomeId").off("click.namespace").on("click.namespace");
據我所知,你只能將單個事件附加到事件的特定命名空間。
例如,如果我只是做on("click")
會附上我指定的功能,
覆蓋分配
目前的功能,增加了「點擊」事件。
如果我做on("click.namespace")
它會附加我指定的功能
覆蓋當前分配的功能
,加入到click.namespace
。
什麼是鏈接一個off("click")
到on("click)
如果on()
已經取代了分配給指定的事件/ event.namespace任何功能刪除任何事件的意義呢?
它是我們的代碼中的冗餘語法,還是我錯過了它的原因?
編輯 - 謝謝你kapa
我現在覺得有點傻,我糾正上述錯誤我的知識。幾次執行on("click.namespace1")
我現在觀察到data("events")
對象不斷添加到click事件數組中。
我認爲這回答我自己的問題。這就是爲什麼人們會使用off("event.namespace")
來確保沒有其他東西附加到該確切的event/event.namespace。
我根據您的反饋,根據新發現編輯了我的問題。我覺得有點傻,在觀察數據(「事件」)對象之前,我從未注意過。謝謝您的回答。 – Jason