Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery创建带有按钮的div,然后捕获新按钮';点击事件?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用jquery创建带有按钮的div,然后捕获新按钮';点击事件?

Javascript 使用jquery创建带有按钮的div,然后捕获新按钮';点击事件?,javascript,jquery,html,Javascript,Jquery,Html,当某个链接的点击事件被激活时,我想使用jQuery在页面上创建一个新的div。我知道这部分可以。我关心的部分是:如果新创建的div中有另一个链接,那么我是否能够使用jQuery捕获这个新链接的单击事件?也就是说,javascript是否能够捕获使用jQuery“动态”插入的新html元素的点击事件?如果没有,如何模拟此功能 谢谢是的,新jQuery中有一个名为“live”的功能。根据需要执行的操作,您可能还需要访问“livequery” 现场: livequery: 祝你好运 David的r

当某个链接的点击事件被激活时,我想使用jQuery在页面上创建一个新的div。我知道这部分可以。我关心的部分是:如果新创建的div中有另一个链接,那么我是否能够使用jQuery捕获这个新链接的单击事件?也就是说,javascript是否能够捕获使用jQuery“动态”插入的新html元素的点击事件?如果没有,如何模拟此功能


谢谢

是的,新jQuery中有一个名为“live”的功能。根据需要执行的操作,您可能还需要访问“livequery”

现场:

livequery:


祝你好运

David的right-live非常酷,我经常使用它。有些事件不能使用live—因此,为了完整性起见,您还可以在修改DOM时连接新事件。例如:

$("#some_link").click(function() { 
  $("great_selector").html("<a id='radtimes' href='/radtimes'>rad times</a>");
  $("#radtimes").click(function() {
    alert('more rad things happened!');  
  }); 
});
$(“#某些链接”)。单击(函数(){
$(“大选择器”).html(“”);
$(“#radtimes”)。单击(函数(){
警惕(“发生了更多的事情!”);
}); 
});

我知道您已经得到了答案,但下面是一些示例代码,它创建了一个新链接,并一次性将函数绑定到其单击事件。根据需要修改嵌套图元。这里使用链式函数调用是为了避免在使用字符串中的HTML时引号转义的潜在问题。哦,
return false
在点击处理程序的末尾是很好的,因为它可以防止链接被激活

$('body').append($('<a>').attr('href', '#').text('Foo').click(function() {
    alert('Foo!');
    return false;
}));
$('body')。追加($('').attr('href','#')。文本('Foo')。单击(函数(){
警惕('Foo!');
返回false;
}));

我认为使用“livequery”时,大多数事情都应该得到处理(出于实际目的),但这很酷。不客气!仅供参考,我使用livequery来满足我的需要(与live相反),我认为这是一个使用良好的插件。我认为他想要递归添加,所以这可能不够。