jQuery是一个非常流行的JavaScript库,提供了许多方便的api来操作DOM和事件处理。其中,on方法是用于事件处理的一个重要方法。它可以注册一个或多个事件的处理函数,而且还可以使用冒泡和捕获机制。
$('button').on('click', function(){
console.log('按钮被点击了!');
});
上述代码中,我们使用了on方法来注册了一个按钮的点击事件,当按钮被点击时,会打印出一个日志。这个事件处理函数只有冒泡阶段才会执行,也就是说,当按钮被点击时,事件会一层一层地向上冒泡,直到遇到document对象为止,然后开始从上往下执行事件处理函数。
$('button').on('click', function(){
console.log('按钮被点击了!');
}, true);
如果我们使用了第三个参数,将其设为true,则表示事件处理函数会在捕获阶段执行。也就是说,当按钮被点击时,事件从document对象开始向下捕获,直到遇到按钮对象为止,然后再从下往上执行事件处理函数。
$('ul').on('click', 'li', function(){
console.log('列表项被点击了!');
});
当我们使用了on方法的另一种形式,即使用第二个参数选择器来匹配子元素时,事件处理函数会委托到选择器匹配的子元素上。在这种情况下,事件的冒泡和捕获机制和上述情况一样,事件处理函数只会在冒泡阶段执行。