JQuery提供了一個很好用的方法on(),可以用于操作DOM元素上的事件。除了基礎(chǔ)的事件綁定,on()方法還支持傳遞參數(shù)。下面我們來看一下如何使用on()方法來傳遞參數(shù)。
$(document).on('click', 'button', function(event, param){ console.log(param); //輸出參數(shù)的值 });
上面是一個基礎(chǔ)的on()方法的用法,它可以綁定在document上,監(jiān)聽所有的button元素的點(diǎn)擊事件。但如果你需要在事件處理函數(shù)里面使用參數(shù),該怎么辦呢?可以在聲明事件綁定時,傳遞一個額外的參數(shù),這個參數(shù)會作為事件處理函數(shù)的第二個參數(shù)傳遞進(jìn)去。
$(document).on('click', 'button', 'my-param', function(event, param){ console.log(param); //輸出'my-param' });
第三個參數(shù)'my-param'就是我們傳遞的參數(shù),它會作為事件處理函數(shù)的第二個參數(shù)傳遞進(jìn)去。注意,這種用法只能在jQuery 1.7以上版本中使用。
除了這種方式以外,還可以通過閉包的方式來傳遞參數(shù)。如下面的例子所示:
$(document).on('click', 'button', function(param){ return function(event){ console.log(param); //輸出'hello' } }('hello'));
在這個例子中,我們使用了一個自執(zhí)行的閉包來傳遞參數(shù)。例如我們要在點(diǎn)擊按鈕的時候打印出'hello',我們使用閉包在函數(shù)聲明時就將參數(shù)傳遞進(jìn)去,并返回一個回調(diào)函數(shù)。在這個回調(diào)函數(shù)里面,我們就可以直接使用這個參數(shù)了。
以上就是關(guān)于jQuery on()方法傳遞參數(shù)的介紹。希望能夠?qū)Υ蠹业拈_發(fā)有所幫助。