在 jQuery 中,on 和 click 都是事件處理函數(shù),它們的作用是處理用戶在網(wǎng)頁(yè)上的鼠標(biāo)、鍵盤等交互事件。關(guān)于這兩個(gè)函數(shù)有以下幾點(diǎn)不同:
$(selector).on(event, function) $(selector).click(function)
1. on 函數(shù)可以處理所有類型的事件,而 click 函數(shù)只能處理點(diǎn)擊事件。
2. on 函數(shù)可以給指定的元素和其子元素綁定事件,而 click 只能給指定元素綁定事件。
下面是一個(gè)例子:
<div class="container"> <p>點(diǎn)擊我!</p> <ul> <li>選項(xiàng)一</li> <li>選項(xiàng)二</li> <li>選項(xiàng)三</li> </ul> </div>
我們要給選項(xiàng)綁定點(diǎn)擊事件:
$('ul li').on('click', function() { console.log('點(diǎn)擊了選項(xiàng)'); });
現(xiàn)在,不僅是選項(xiàng)自身被點(diǎn)擊時(shí)會(huì)觸發(fā)事件,選擇器 li 的祖先元素也會(huì)觸發(fā)事件。
若使用 click 函數(shù),則只有選項(xiàng)本身被點(diǎn)擊時(shí)才會(huì)觸發(fā)事件,而祖先元素不會(huì)觸發(fā)。
$('ul li').click(function() { console.log('點(diǎn)擊了選項(xiàng)'); });
總的來(lái)說(shuō),on 函數(shù)的靈活性更大,但是 click 函數(shù)的寫法更簡(jiǎn)單直接。