jQuery -当你委托一个事件处理程序时,它是否也会自动从不再匹配的元素中移除自己?
jQuery - When you delegate an event handler, will it also auto-remove itself from elements that no longer match?
假设如下结构
<div id="wrapper">
<div></div>
<div class="selected"></div>
<div></div>
<div></div>
<div class="selected"></div>
</div>
我想为所有.selected元素分配一个委托的事件处理程序,这样当新元素被选中时,它们就会自动接收该处理程序。
$("div#wrapper").on("click", "div.selected", function() {
//do magic
});
现在,每次选择一个新的div时,它将自动接收处理程序。
BUT,如果我取消选择一个div(删除.selected类),它也会自动删除处理程序吗?
正确——你的代码
$("div#wrapper").on("click", "div.selected", function() {
//do magic
});
应该读作:"当在div#wrapper
中发生点击时,当(且仅当)它位于div.selected
元素上,运行此函数。"
换句话说,您的事件处理程序实际上是绑定到div#wrapper
,而不是它里面的div.selected
元素。因此,您可以根据需要添加或删除div.selected
,并且委托处理程序将根据需要自动触发它们。
相关文章:
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- 不再使用innerHTML进行AJAX响应.(代码未得到响应)
- 按我自己的类克隆另一个元素的内容和顺序
- 如何配置分析以将数据发送到我自己的服务器
- 如何使用jquery ajax和jsonp在您自己的域上读取json数据
- 不再需要时使用jQuery/kill实例
- 当我更改innerHtml时,引导选项卡事件不再工作
- 创造自己的智能
- 让自己在文章中成为社交明星's内容高度
- 如何在Win8Metro应用程序的Javascript代码中捕获自己的C#事件
- 从自己的安全系统中重新找回自己
- 麻烦将coffee脚本片段移动到rails中自己的类中
- 试图创建一个24小时计时器来重置自己
- 从我自己的脚本中包含的Javascript文件中调用一个函数
- 让我自己的过滤器不工作
- jQuery -当你委托一个事件处理程序时,它是否也会自动从不再匹配的元素中移除自己?
- 当将内联javascript移动到它自己的文件中时,页面不再正常工作
- 不再重复自己的话
- 当我从application.html.erb中取出它并将其放入自己的文件时,js代码不再工作