克隆元素中的单击操作不起作用
Click action from cloned element does not work
单击操作不适用于任何克隆的元素。
http://jsfiddle.net/Q9m4t/
.HTML
<ul>
<li>hello <a class="del" href="#">del</a></li>
<li>new <a class="add" href="#">add</a></li>
</ul>
.JS
$(".add").click( function() {
$(this.parentNode).prev("li")
.clone()
.insertBefore(this.parentNode);
return false;
});
$(".del").click( function() {
$(this).closest("li").remove();
return false;
});
谁能帮忙?
将.clone()
替换为.clone(true)
。这表示您希望将所有事件处理程序复制到新创建的克隆元素。在此处阅读有关此内容的更多信息。
jsFiddle 在这里。
来自 jQuery .clone()
文档
通常,绑定到原始元素的任何事件处理程序都不是 复制到克隆。可选的 withDataAndEvents 参数允许 我们改变这种行为,而是复制所有 事件处理程序也绑定到元素的新副本。 从jQuery 1.5开始,withDataAndEvents可以选择性地增强 deepWithDataAndEvents 用于复制 克隆的元素。
因此,向 .clone()
方法添加 true 将允许您保留所有事件。
.clone(true)
您可以委托 click 事件,而不是使用 clone(true)
为每个克隆创建一个新的处理程序:
$("ul").on("click",".del", function() {
$(this).closest("li").remove();
return false;
});
演示
相关文章:
- 使用jQuery可以禁用除滚动条之外的所有单击操作
- 在单击操作后隐藏元素
- j查询附加项上的单击操作
- 电话.js工具栏单击操作
- YUI 2.8.2 数据表在客户端按钮单击操作完成后对旧值进行排序
- JQuery TableSorter 单击操作不起作用
- 为动态创建的列表项及其内容添加单击操作
- 克隆元素中的单击操作不起作用
- 使用 jquery 在按钮单击操作中进行简单验证
- JQuery 单击操作只工作一次
- 在Firefox扩展中的输入文件元素上单击操作失败
- 单击操作 Jquery 不起作用
- 无法对动态生成的表执行单击操作
- 如何从ng单击操作中排除元素
- 未调用绑定到foreach中单击操作的函数
- 单击“操作”按钮时,每次单击此按钮时显示一组字段
- 为什么在单击操作时不创建类选择器
- 在下钻中取消对xAxis标签的单击操作的绑定
- 如何基于php会话变量执行JavaScript单击操作
- 单击操作按钮刷新部分视图