Any event to detect when the “Class” attribute is changed for a control

被刻印的时光 ゝ 提交于 2019-12-04 06:38:44

问题


I have a "div" control with some id="myDiv" class="myClass" var var1=10; in Javascript. Based on user action I will change the class for this control from "myClass" to "newClass" so when this has happened I want to change the value of var1 to 20.

So how would I recognize that change in Class?


回答1:


You may use onpropertychange(IE) and DOMAttrModified (others)




回答2:


You'll have to use 3 things:

  1. onpropertychange event, for IE < 9
  2. DOMAttrModified, works in IE9, Opera, Firefox, and not regrettably in all others as Dr.Molle suggests
  3. Everything else - must resort to setInterval loop, that checks if value changed, this includes webkit browsers (chrome and safari), since they still don't have DOMAttrModified support, so - you'll have to resort to loop check for those browsers.

There is jQuery plugin which implements this (there is also a demo on the page):

http://darcyclarke.me/dev/watch/



来源:https://stackoverflow.com/questions/5904648/any-event-to-detect-when-the-class-attribute-is-changed-for-a-control

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!