1

DOMAttrModifiedについて質問があります。HTML要素のプロパティにどの変更を加えるとDOMAttrModifiedイベントがトリガーされますか(特にFirefoxに関心がありますが、他のブラウザーに適用される回答でも十分な場合があります)。

私は次のテストケースを持っています:

        var elem = document.createElement('input');
        document.body.appendChild(elem);

        elem.id    = 'inputId';      // triggers DOMAttrModified
        elem.type  = 'text';         // triggers DOMAttrModified
        elem.value = 'inputValue';   // DOES NOT trigger DOMAttrModified
        elem.lang  = 'en';           // triggers DOMAttrModified

elem.valueをelem.defaultValueに変更すると、DOMAttrModifiedがトリガーされます。どこかに包括的なリストがありますか?これまでのところ、HTMLInputElementの「value」と「checked」およびHTMLOptionElementの「selected」プロパティがDOMAttrModifiedをトリガーしていないことがわかりました。他にありますか?

'value'も属性であるため、 DOMAttrModifiedの視覚的属性での答えは完全には正しくないようです。

ありがとう、Sunil

4

2 に答える 2

3

DOMプロパティはHTMLマークアップ属性valueを変更しません。valueDOMdefaultValueはそうします。 DOMAttrModifiedマークアップ属性が変更されたときに発生します。たとえば、 setAttribute/removeAttribute呼び出し、および属性を変更するプロパティセットに対して発生します。

于 2012-03-30T10:19:08.713 に答える
3

'disabled'属性が設定されている場合、DOMAttrModifiedイベントは発生しないことにも注意してください。したがって、イベントが発生していない場合は、それが理由である可能性があります。これは、IEのみの「onPropertyChange」イベントにも当てはまります。

于 2012-11-19T19:24:52.310 に答える