2011-11-28 87 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来模拟“真实”事件。

相关问题