所謂原生就是通過addeventlistener方法繫結到dom元素上。這個好辦:
嗯,我知道,你遇到問題了吧,所有jquery繫結的事件函式,你通過上面的方式,跳到的都是jquery的**,而且永遠是那乙個地方。看了跟沒看一樣。所以,寶哥在這裡教你針對jquery的檢視方式。
好的,我知道,你肯定又遇到問題了。因為當你使用的jquery2.x版本的jquery時,上面的這個方法又不work了,原因是2.x的**架構變了。其實2.x版本的事件仍然是用的cache機制,但不像1.x版本暴露到外面去了,而是封裝起來,並且存在了閉包物件data_priv中,而且一般使用的是jquery的壓縮版本,這個data_priv名字你也無法檢視到。所以在檢視過jquery2.x版本的原始碼後,寶哥教你如何定位它:
以上預設是在chrome瀏覽器下做的操作,其實在firefox下也是類似的,相信作為乙個技術人員,你應該能舉一反三的。至於ie嘛,呃…當我沒說哈。:)1.為省去檢視屬性的麻煩,jquery1.x可以直接在控制台執行
$.cache[$('#clickme').get(0)[$.expando]]
輸出元素上繫結的東西,而不是先去檢視元素上jquery******x的屬性的值了
2.經過一篇查閱和測試。有乙個新的目前最省力而且jquery1,jquery2都適用的辦法是,直接在控制台輸入$._data($('#clickme').get(0))
,即可把繫結在元素的東西都輸出來。但是,從jquery2的原始碼的注釋中發現,$._data會在之後的新版本中廢除。所以上面介紹的方法仍然是很有價值的。授人以魚,不如授人以漁嘛,:)
寶哥教你 檢視jquery繫結的事件函式
原文出處 作為技術狂熱分子的職業本能,看到乙個技術產品的功能,總會忍不住想知道它是怎麼被實現的。比如我每每看到別人 乙個很炫的介面或者很酷的功能,就忍不住開啟了瀏覽器的控制台。好,不扯遠,說說當你想看到 上某個元素繫結的事件函式的 時應該怎麼做吧。所謂原生就是通過addeventlistener方法...
jquery 事件繫結
1.bind bind 方法為被選元素新增乙個或多個事件處理程式,並規定事件發生時執行的函式。多個事件用空格分開 可以繫結的事件有click dblclick mouseover mouseout mousedown mouseup等滑鼠事件,至於鍵盤事件,嘗試沒發現效果。selector bind...
jquery繫結事件
1.bind 向匹配元素新增乙個或多個事件處理器。使用方式 selector bind event,data,function event 必需項 新增到元素的乙個或多個事件,例如 click,dblclick等 單事件處理 例如 selector bind click data,function ...