2011-11-28 83 views
0

我的網頁上有一個<ul>元素,有幾個孩子。一個class屬性將被添加到這些孩子在某些時候,當元素的````屬性發生變化時,是否會觸發事件?

之前

<ul> 
    <li>1</li> 
    <li>2</li> 
    <li>3</li> 
</ul> 

<ul> 
    <li class='classname'>1</li> 
    <li>2</li> 
    <li>3</li> 
</ul> 

後,我想綁定到會火每當li元素的類改變事件,所以我可以相應地處理它。有這樣的事件嗎?

+0

你怎麼改變李的班? –

回答

1

我想你需要看到這個帖子

jQuery - Fire event if CSS class changed

,而我討厭jQuery,因此我將尋找它在純JavaScript

問候

+1

您還沒有完成任何大型項目,這就是爲什麼您不必使用jQuery。 – Hossein

+1

@ Hossein我做了很多大項目,每次使用我自己的框架mScript,並不時從我的新體驗中爲我的框架添加新功能//我只在時間過緊時才使用jquery,而且我面對我的框架中未涉及新問題 – Marwan

2

我相信,有一些方法來綁定到DOM Mutation event,但我從來沒有真正做到這一點,即使它支持跨瀏覽器也不知道。

相反,只需找到實際進行更改並在其中插入處理程序的代碼即可。或者,如果您希望能夠拆分並使用事件,則可以使用jQuery觸發自定義事件。

function something() { 
    $('li').addClass('classname').trigger('classChange'); 
} 

// elsewhere: 
$('li').bind('classChange', function() { ... }); 
0

根據您要如何更改元素,可以使用自定義事件和自定義getter來模擬「真實」事件。

相關問題