2011-08-04 32 views
2

我有一個div有一個類cls1新div沒有inheirt點擊屬性

當我點擊cls1 div時,會創建一個與此相同的類的新div。

但是當我點擊新建cls1 DIV不會創建另一個DIV ...

,因爲應用的CSS規則的類是正確的。

我正在使用jQuery。是否有任何理由讓新創建的div在點擊時不觸發點擊事件?

EDIT1: 我試圖用append創建新的div,但也通過製作一個新的jQuery對象。

+0

你可以顯示你正在使用的JavaScript? –

回答

5

爲此,您需要使用.live().delegate()來綁定該事件。這些將把事件綁定到新創建的元素。

如果您剛剛使用.click().bind(),它會限制當時存在的元素,就是這樣。

4

bindclick方法只綁定當前存在的元素。

相反,您應該調用live,它會綁定到與選擇器匹配的所有元素,而不管它們何時創建。

+0

非常感謝! :*愛你':D – Cristy

0

這取決於你在div上註冊點擊事件的方式。

每個新創建的div必須註冊一個回調點擊創建另一個DIV

2

你可能會做這樣的事情。

$(".className").click(function() { /* do stuff */}) 

這將使點擊該頁面上的那些選擇器時表示的功能。您想使用livedelegate之類的內容,這些內容適用於添加到頁面的新內容。這裏有一個live的例子。

$(".className").live(function() { /* do stuff*/}) 

委託是此概念的較新版本,它具有一些更好的功能,例如允許您綁定到特定的DOM元素。