在javascript问题中创建onChange

在javascript问题中创建onChange,javascript,Javascript,我正在尝试将更改事件分配给元素。我有 var testDiv=getElementById('testDiv'); var SelectMenu=document.createElement('select'); SelectMenu.id='SelectMenu'; SelectMenu.onchange=changeFuntion(); testDiv.appendChild(SelectMenu); function changeFuntion(){

我正在尝试将更改事件分配给元素。我有

 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


我只希望在用户更改dropdonw菜单时显示警报。但是,似乎在创建元素后立即调用了警报。
有什么建议吗?非常感谢

SelectMenu.onchange=changeFuntion() 将函数
changeFunction
的返回值指定给
SelectMenu.onchange
,而不是函数本身。试试看

SelectMenu.onchange=changeFuntion();  <-- This calls the function
                                 ^^--- Remove the braces
SelectMenu.onchange = changeFuntion;
相反。您拥有它的方式,即:

SelectMenu.onchange = changeFuntion();
方法:调用函数
changeFunction
,并将返回值分配给
SelectMenu.onchange
属性

SelectMenu.onchange = changeFuntion;
SelectMenu.onchange = changeFuntion();