我正在尝试将更改事件分配给元素。我有
var testDiv=getElementById('testDiv');
var SelectMenu=document.createElement('select');
SelectMenu.id='SelectMenu';
SelectMenu.onchange=changeFuntion();
testDiv.appendChild(SelectMenu);
function changeFuntion(){
//it calls right after I load the page....
alert('call');
}
html
<div id='testDiv'></div>
我希望仅在用户更改dropdonw菜单时显示警报。但是,似乎在元素创建后立即调用了警报。
有小费吗?非常感谢!
最佳答案
您正在将函数changeFunction
的返回值分配给SelectMenu.onchange
,而不是函数本身。尝试...
SelectMenu.onchange = changeFuntion;
代替。您拥有的方式,即:
SelectMenu.onchange = changeFuntion();
表示:调用函数
changeFunction
,并将返回值分配给SelectMenu.onchange
属性。