2012-01-06 134 views
3

如何添加活動事件綁定到:選擇器之後?這是我嘗試沒有成功:jquery live on:選擇器後

CSS規則

div.k-tabstrip .k-link:after 
{ 
    content: url("/icons/close.gif"); 
    width: 16px; 
    height: 16px; 
    display: inline-block; 
    margin: 0px; 
    margin-left: 10px; 
} 

JS

$(document).on("click",".k-link:after", function(){ alert("Goodbye!"); }); 

回答

4

你不能。由:aftercontent屬性添加的內容不會成爲DOM的一部分,因此無法通過JavaScript訪問。

請注意,內容不會被添加到DOM 的所有,因此它不會成爲它應用到的元素的一部分,並且它本身不會成爲節點。它只是坐在那裏,不知道周圍的世界。

2

James's answer是100%正確的。

因爲在這種情況下,你:after的內容是沒有的JavaScript沒用的,你可以使用JavaScript來擺在首位添加的元素:

$('.k-link').append('<img src="/icons/close.gif" class="after">'); 
$(document).on("click",".k-link .after", function(){ alert("Goodbye!"); }); 

當然,比after使用更合理的,有意義的類名。

如果元素確實具有javascript之外的功能(如果鏈接/按鈕應該與禁用js一起工作),並且不僅僅是修飾,它應該真正在您的HTML中開始。同樣,任何內容內容而不是演示文稿應該是您的標記的一部分,而不是用CSS生成的。