jQuery的delegate方法是一种事件委托,它可以让你在一个元素上绑定一个事件处理函数,而不是在每个子元素上都绑定一个事件处理函数。这样可以节省大量的内存和性能,特别是当你有大量的子元素时。
delegate方法接受三个参数:要委托的选择器、要监听的事件名称、要执行的函数。当某个子元素被触发时,会将该子元素作为参数传递到函数中,这样就可以对该子元素进行处理。
$('#parent').delegate('#child', 'click', function(e) { // 处理 #child 的 click 事件 });
jQuery 事件方法
当单击 <div> 元素内部的 <p> 元素时,改变所有 <p> 元素的背景颜色:
delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。
使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。
自 jQuery 版本 1.7 起,on() 方法是向被选元素添加事件处理程序的首选方法。
参数 | 描述 |
---|---|
childSelector | 必需。规定要添加事件处理程序的一个或多个子元素。 |
event | 必需。规定添加到元素的一个或多个事件。 由空格分隔多个事件值。必须是有效的事件。 |
data | 可选。规定传递到函数的额外数据。 |
function | 必需。规定当事件发生时运行的函数。 |
向未来的元素添加事件处理程序
如何使用 delegate() 方法来向尚未创建的元素添加事件处理程序。
向函数传递数据
如何向一个自定义命名的事件处理程序传递数据。
jQuery 事件方法
jQuery on() 方法jQuery 事件方法实例 向 p 元素添加 click 事件处理程序:$(p).on(click,function(){ alert(The paragraph was ...
jQuery ajaxSuccess() 方法jQuery AJAX 方法实例 当 AJAX 请求成功完成时,触发一个提示框:$(document).ajaxSuccess(function()...
jQuery [attribute^=value] 选择器jQuery 选择器实例 选取所有带有以 nation 开头的 name 属性的 input 元素:$(input[name^=...
jQuery - AjaxAJAX 是一个首字母缩写,代表异步 JavaScript 和 XML,这一技术帮助我们在没有浏览页面刷新的情况下从服务器加载数...