2013-01-16 83 views
0

我使用the example here將菜單添加到我的網站。在原始的HTML裏面有一個帶有這個菜單的div。我調用了circleMenu效果。如何在創建元素並將其添加到DOM後應用插件?

  <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' 
      }); 

現在,在頁面其他地方,我創建了示例2列表項,和相同的菜單。除此之外,circleMenu效果將不會附加到它,因爲它剛創建。如何在創建後立即應用效果?或修改現有的電話使用當前所有當前的「.menu」項目?

回答

1

使用jQuery。對()

$('.menu').on("load", data, function(event){ 
    $('.menu').circleMenu({ 
     direction: 'right', 
     circle_radius: 80, 
     item_diameter: 20, 
     trigger: 'click' 
    }); 
}); 

您可以在第二個參數傳遞數據,或者乾脆將其設置爲null。

+0

不能等待試試這個 – Freakishly

0

您可能會發現jQuery的.bind().live()已折舊)可用於將事件添加到動態創建的元素。

http://api.jquery.com/bind/

所以,說你創建新元素,並給它一個id #example2 - 那麼你需要調用.bind()代碼中的這個新創建的元素。

+2

.live()已棄用。不要使用它。 .live()被替換爲.on() http://api.jquery.com/on/ –

+0

謝謝你,不知道! – Jimbo

+0

我也不知道這一點,非常感謝 – Freakishly

相關問題