Javascript 在Selectobox上设置Evenet侦听器已禁用(DOMAttrModified)

Javascript 在Selectobox上设置Evenet侦听器已禁用(DOMAttrModified),javascript,events,drop-down-menu,listener,Javascript,Events,Drop Down Menu,Listener,我想在selectbox上设置一个事件侦听器,当属性更改为disabled时,它应该被触发。我尝试了以下几点: <select id="a"> <option>Heino</option> <option>Michael Jackson</option> <option>Tom Waits</option> <option>Nina Hagen</option&g

我想在selectbox上设置一个事件侦听器,当属性更改为disabled时,它应该被触发。我尝试了以下几点:

<select id="a">
    <option>Heino</option>
    <option>Michael Jackson</option>
    <option>Tom Waits</option>
    <option>Nina Hagen</option>
    <option>Marianne Rosenberg</option>
</select>
<button id="b">Action</button>
<script type="text/javascript">
var a = document.getElementById("a");
a.addEventListener('DOMAttrModified', function() {
    alert(0);
}, false);

var b = document.getElementById("b");
b.onclick = function() {
    a.setAttribute('disabled', 'disabled');
};
</script>

海诺
迈克尔杰克逊
汤姆等着
尼娜·哈根
玛丽安娜罗森贝格
行动
var a=document.getElementById(“a”);
a、 addEventListener('DOMAttrModified',函数(){
警报(0);
},假);
var b=document.getElementById(“b”);
b、 onclick=function(){
a、 setAttribute('disabled','disabled');
};
通过将禁用的属性更改为另一个属性,例如“一切正常”。你有没有办法触发这件事?一个适用于所有浏览器的解决方案会很好

感谢
a.setAttribute('disabled','disabled')
您禁用了
,而不是特定的
。如果要禁用,请单击按钮,选择选项

var b = document.getElementById("b");
b.onclick = function () {
    for (var i = 0; i < a.length; i += 1) {
        if (a[i].selected == true) {
            a[i].setAttribute('disabled', 'disabled');
        }
    }
};
var b=document.getElementById(“b”);
b、 onclick=函数(){
对于(变量i=0;i
不推荐使用突变事件。改用变异观察者。