在事件本身的新元素上指定click事件
Assign click-event on a new element in the event itself
我想创建一个新元素,并为这个元素分配与创建它的onclick相同的事件。
演示
$(function(){
var counter = 0;
$('.sub').click(function(event){
event.stopPropagation();
counter++;
$div = $(this); // makes more sense in the original code
$div.append('<div class="sub" title="subsub">subsub' + counter + '</div>');
//$div.find('.sub').click // <-- ?????
});
});
在我的演示中,我想为每个被点击的子创建一个新的子目录。然后我想将相同的点击事件添加到新的子目录元素中。
有人能帮我吗?我找不到解决这个问题的办法。也许我没有谷歌或SO:/的正确关键字
只需使用事件委派
$(document).on('click', '.sub', function(event){
此时,您的单击事件似乎工作正常,因为您使用的是append
,它实际上将new div
嵌套在单击的div中。尝试使用after
,功能就会中断。
$(function(){
var counter = 0;
$(document).on('click', '.sub', function(event){
event.stopPropagation();
counter++;
$div = $(this); // makes more sense in the original code
$div.after('<div class="sub" title="subsub">subsub' + counter + '</div>');
});
});
检查Fiddle
为什么不创建合适的元素:
$(function(){
var counter = 0;
$('.sub').on('click', doStuff);
function doStuff(event) {
event.stopPropagation();
counter++;
var $div = $(this),
$sub = $('<div />', {'class':'sub',
title : 'subsub',
text : 'subsub' + counter,
on : {
click : doStuff
}
}
);
$div.append($sub);
}
});
相关文章:
- Fancybox是否将Click事件静音
- AngularJs的ng-click$事件将子元素作为目标传递
- jsplumb中的Click事件处理程序丢失“;这个“;对象
- jquery on click事件来显示内容
- 使用谷歌图表将mousedown事件注册为click
- jQuery.on-click事件不会发生
- AngularJS$apply有时不会;当在highchart中使用click事件时,t触发更新{{}}中html标记中
- 追加Jquery后的Binding Click事件不起作用
- 将click事件绑定到AngularJS指令中的子元素
- 现代网络爬虫是使用 click 事件还是直接导航到锚标记上的 href
- asp.net javascript .click() 事件未在服务器上触发
- JavaScript on Click 事件在 img 标签上无法正常工作
- 将参数传递给 jQuery .click WHILE 保留事件参数
- 在 Google Plus Button 上跟踪 click() 事件
- AngularJS:指令限制:“E”阻止在Jasmine单元测试中调用元素click()事件
- 如何覆盖jQuery所选元素的“click”事件
- 带有元素移除的Javascript remove-click事件
- 如何在不接触某些元素的情况下附加document.click事件
- Wicket Ajax错误日志:Error:无法绑定事件"click"监听器;元素"Aja
- JavaScript/jQuery -重用事件'Click'元素的