如果在循环中创建元素,则Bootstrap下拉列表不会触发单击事件

时间:2013-11-26 13:36:45

标签: javascript jquery twitter-bootstrap

我试图使用带链接的正常Bootstrap下拉菜单,但我想解雇Jquery代码而不是像往常一样重定向链接。该列表将从数据库表中动态创建。

如果我将列表定义如下,我可以正常工作。

$(".sitedropdown").append('<li><a class="sitelink" href="#">s</a></li>');
$(".sitedropdown").append('<li><a class="sitelink" href="#">asd</a></li>');

只要我尝试运行循环来添加元素,click事件就会神奇地停止工作。

var obj = $.parseJSON(data);
$.each(obj,function(index,arr){
$(".sitedropdown").append('<li><a class="sitelink" href="#">'+arr.wpname+'</a></li>');
});

我已经搜遍了这个但是找不到任何东西。 在有人问之前,是的,我正在使用jquerys ON事件来处理动态添加的元素。

1 个答案:

答案 0 :(得分:1)

  

然后尝试委托事件:$(“。sitedropdown”)。on(“click”,“。sitelink”,function(e){&gt; e.preventDefault(); alert(“bob”);}) ; - A. Wolff

沃尔夫马上就把它弄好了。

再次感谢