📅  最后修改于: 2023-12-03 15:16:50.838000             🧑  作者: Mango
jQuery的委托()是一种事件绑定方式,它不是直接给元素绑定事件,而是将事件绑定在父元素上,利用事件冒泡机制实现对子元素的事件监听。
这种方式可以避免因为动态增删子元素而需要重新绑定事件的繁琐操作,提高了代码的可维护性和性能。
$(parentSelector).on(eventName, childSelector, eventHandler);
parentSelector
为父元素的选择器;eventName
为要绑定的事件名称,如"click"、"mouseover"等;childSelector
为要监听的子元素的选择器;eventHandler
为事件处理函数。例如,将页面中所有<button>
元素的点击事件绑定在<body>
元素上:
$("body").on("click", "button", function() {
// ...
});
它等效于以下代码:
$("button").click(function() {
// ...
});
但是,使用委托方式可以更灵活地应对动态增删子元素的情况。
使用委托方式时,需要注意以下几点:
this
关键字指向触发事件的子元素,而不是父元素;childSelector
表示的子元素不存在,则不会触发事件处理函数。jQuery的委托()是一种优秀的事件绑定方式,可以避免对动态增删子元素需要重新绑定事件的繁琐操作,提高了代码的可维护性和性能。使用时需要注意选择器的作用范围和事件处理函数中的this
关键字指向问题。