能否做一个事件On_Attr_Change,监听元素属性的变化,以便属性变化的时候作出处理
On_Attr_Change = function(){
/* 自定义处理代码 */
}
兼容ie, Firefox, Opera and Safari
[code="html"]
<br> function AddListeners () {<br> var elemToCheck = document.getElementById ("myDiv");<br> if (elemToCheck.addEventListener) { // Firefox, Opera and Safari<br> elemToCheck.addEventListener ('DOMAttrModified', OnAttrModified, false);<br> } else if (elemToCheck.attachEvent) { // Internet Explorer<br> elemToCheck.attachEvent ('onpropertychange', OnAttrModified);<br> }<br> }</p> <pre><code>function OnAttrModified (event) { var txt = ""; if (event.attrChange) { // Firefox, Safari, Opera txt += "The element: " + event.target; txt += "\nproperty: " + event.attrName; txt += "\noriginal value: " + event.prevValue; txt += "\n changed to: " + event.newValue; } else { // Internet Explorer txt += "The element: " + event.srcElement.tagName; txt += "\nproperty: " + event.propertyName; var elem = event.srcElement; txt += "\nchanged value: " + elem.attributes[event.propertyName].value; } alert (txt); } function ChangeDDD () { var div = document.getElementById ("myDiv"); div.setAttribute("ddd","New Attribute"); } </code></pre> <p>
Change ddd Attribute!
divdivdivdivdivdivdivdiv
[/code]
学习了,LS的强捍
使用Ext的话可以用这个事件
DOMAttrModified : ( Ext.EventObject e, HtmlElement t, Object o )
Where supported. Fires when an attribute has been modified.
Listeners will be called with the following arguments:
e : Ext.EventObject
The Ext.EventObject encapsulating the DOM event.
t : HtmlElement
The target of the event.
o : Object
The options configuration passed to the addListener call.
Element