问题
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:
- onpropertychange event, for IE < 9
- DOMAttrModified, works in IE9, Opera, Firefox, and not regrettably in all others as Dr.Molle suggests
- 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