千鋒教育JavaScript全套視頻教程(10天學會Js,前端javascrip

jquery事件的綁定方式有以下幾種:
+ on()
? ? 1. 綁定點擊事件,事件冒泡機制仍然存在(這種綁定后續(xù)新加入的同類型的節(jié)點就不會有這個事件了)
? ? ? ? ```js
? ? ? ? $('ul').on('click',function(){
? ? ? ? ? ? ? ? console.log('ul click');
? ? ? ? })
? ? ? ? ```
? ? 2. 事件委托:給某個元素綁定事件。后續(xù)加入的相同的節(jié)點也可以有這個事件,只需要在on的第二個參數(shù)處傳遞一個標簽元素即可
? ? ? ? ```js
? ? ? ? $('ul').on('click', 'button', function () {
? ? ? ? ? ? ? ? console.log('ul click');
? ? ? ? })
? ? ? ? ```
? ? 3. 傳參數(shù)(必須是一個對象)
? ? ? ? ```js
? ? ? ? $('ul').on('click', {name:'karvin'}, function (e) {
? ? ? ? ? ? ? ? console.log(e);
? ? ? ? ? ? })
? ? ? ? ```
? ? 4. 事件委托+傳參(傳參的形式隨意)
? ? ? ? ```js
? ? ? ? $('ul').on('click', 'button',{name:'karvin'}, function (e) {
? ? ? ? ? ? ? ? console.log(e);
? ? ? ? ? ? })
? ? ? ? ```
+ one
? ? - 一次性事件,點擊完成之后就會解綁
? ? ? ? ```js
? ? ? ? $('ul').one('click','button',function(){
? ? ? ? ? ? ? ? console.log('ul');
? ? ? ? ? ? })
? ? ? ? ```
+ 常用的方法函數(shù)
? ? click(),mouseover(),mouseout(),blur(),change(),input()
? ? - 也支持鏈式綁定
? ? - 傳遞參數(shù),參數(shù)形式可以多樣
? ? ? ? ```js
? ? ? ? $('ul li').click({name:'karvin'},function(e){
? ? ? ? ? ? console.log('click',e.data);
? ? ? ? }).mouseover({name:'karvin'},function(e){
? ? ? ? ? ? console.log('mouseover',e.data);
? ? ? ? })
? ? ? ? ```
+ off()
? ? - off():解綁所有的事件
? ? - off('click'):解綁click事件
? ? - off('click',"要解綁的處理函數(shù)名")
? ? ? ? ```js
? ? ? ? function A(){
? ? ? ? ? ? console.log('AAA');
? ? ? ? }
? ? ? ? function B(){
? ? ? ? ? ? console.log('BBB');
? ? ? ? }
? ? ? ? $('ul li').on('click',A).on('click',B)
? ? ? ? $('ul li').off('click',A)
? ? ? ? ```
+ 補充知識點:普通節(jié)點轉(zhuǎn)換成jquery節(jié)點
? ? - document ---> ?$(document)
原生js綁定事件和解綁事件的回顧:
jquery的綁定事件與解綁事件與原生js的綁定事件的方式不太一樣,原生js綁定事件有兩種方式:第一個是on+事件類型的方式,第二個是addEventListener的方式。解綁的方式兩種不同的綁定當時也有不同的解綁方式。第一種方式的解綁方式只需將其置空就可,第二種方式需要使用removeEventListener才可。