我正在使用the example here向我的网站添加菜单。在原始的HTML中有一个div,里面有这个菜单。我在它上面调用了circleMenu效果。
<ul id="container" >
<li class="ui-state-default">example1
<!--menu button-->
<ul class="menu" id="menu6">
<li><a href="#"></a></li>
<li><a href="#" alt="Edit" title="Edit"><img src="images/edit.jpg" /></a></li>
<li><a href="#" alt="Copy" title="Copy"><img src="images/copy.jpg" /></a></li>
<li><a href="#" alt="Delete" title="Delete"><img src="images/delete.jpg" /></a></li>
</ul>
</li>
</ul>
$('.menu').circleMenu({
direction: 'right',
circle_radius: 80,
item_diameter: 20,
trigger: 'click'
});
现在,在页面的其他位置,我创建了example2列表项和相同的菜单。除此之外,circleMenu效果不会附加到它,因为它刚刚创建。如何在创建后立即应用效果?或修改现有的通话,以便在当时使用所有当前的“.menu”项目?
答案 0 :(得分:1)
使用jquery .on()
$('.menu').on("load", data, function(event){
$('.menu').circleMenu({
direction: 'right',
circle_radius: 80,
item_diameter: 20,
trigger: 'click'
});
});
您可以在第二个参数中传递数据,或者只是将其设置为null。
答案 1 :(得分:0)
您可能会发现jQuery的.bind()
(.live()
已弃用)对于向动态创建的元素添加事件非常有用。
因此,假设您创建了新元素并为其指定了#example2
- 然后您需要在代码中对此新创建的元素调用.bind()
。