2014-01-14 99 views
2

如何將點擊綁定到父類沒有類的元素?

我試圖點擊綁定添加到icon-next類如果td元素不具備ui-disabled類,而不使用if語句如果可能的話(沒有雙關語)。

$(".icon-next:not(.ui-disabled)").bind('click',function(){}); 
+0

請記住,click事件不會自動分配給稍後在運行時丟失'ui-disabled'類的元素。 – MMM

+0

什麼版本的jQuery? .on()方法是附加事件處理程序的首選方法,因爲1.7 – JAL

回答

3

你想這樣做,是這樣的:

$("td:not(.ui-disabled) .icon-next").bind("click",function(){}); 

正如Johannes說,這將是一個更好的主意,以委託.ui-disabled類被刪除的情況下,該事件使用.on()

$("body").on("click", "td:not(.ui-disabled) .icon-next", function(){}); 
+0

應該注意的是':not'選擇器在IE8及更低版本中不起作用。儘管我不確定JQuery是否爲此付出了代價。否則,你需要[對於IE8及以下的替代解決方案](http://stackoverflow.com/questions/3077146/use-not-pseudo-class-in-ie7-ie8)。 – Johannes

+0

@Johannes:這與jQuery選擇器無關,你在談論CSS。 – MMM

+1

@MMM,這是很好的知道。我認爲他們不僅共享語法,而且共享功能。我學到了新東西:) – Johannes

2

Billy是當場就與他的代碼,雖然我會建議你使用.on()來代替,而委託的事件,這樣的事件正確綁定/解除綁定。

$('body').on("click", "td:not(.ui-disabled) .icon-next", function(){}); 
相關問題