Javascript 动态创建的标记上的两个onchange事件
我正在尝试为具有两个不同函数的标记(Javascript 动态创建的标记上的两个onchange事件,javascript,Javascript,我正在尝试为具有两个不同函数的标记()添加两个事件onchange。 以下是代码的一部分: var slct=document.createElement("select"); slct.id="tskSlk_"+idN; for (var i = 0; i < opt.length; i++) { var objOpt=document.createElement("option"); ob
)添加两个事件onchange
。
以下是代码的一部分:
var slct=document.createElement("select");
slct.id="tskSlk_"+idN;
for (var i = 0; i < opt.length; i++) {
var objOpt=document.createElement("option");
objOpt.text=opt[i];
slct.appendChild(objOpt);
};
slct.onchange=prcTypCh;
slct.onchange=statBar;
tsks.appendChild(slct);
var slct=document.createElement(“选择”);
slct.id=“tskSlk_u2;”+idN;
对于(变量i=0;i
因此,我有这两个功能,并希望在有人从列表中选择一个选项后执行这两个功能。
我知道两种可能的方法:
onblur
非常感谢。您可以使用
addEventListener
:
slct.addEventListener('change', prcTypCh, false);
slct.addEventListener('change', statBar, false);
(如前所述,如果您的目标是IE<9,则需要有条件地使用<代码> AutoGebug < /代码>。为此,您应该考虑使用像jQuery这样的库来覆盖各种浏览器实现。”
< P>您可以将这两个函数添加到<代码> OnChchange < /Cord>事件slct.addEventListener('change', prcTypCh);
slct.addEventListener('change', statBar);
或者,您可以将当前的onchange
函数设置为调用这两个函数的处理程序
slct.onchange = myOnChangeHandler;
function myOnChangeHandler(){
prcTypCh();
statBar();
}
如果可能的话,在你的情况下,我会建议使用或其他方法来减少你盘子里的脏活。这样你就可以做这样的事情:
$(slct).on("change", function(){
prcTypCh();
statBar();
});
我认为这将回答您的问题:您必须使用
addEventListener
或attachEvent
(取决于您的浏览器)绑定多个事件处理程序。或者,绑定到一个调用其他两个函数的函数。请注意,这在IE中不起作用。jQuery对我来说非常适合,这是一个聪明的解决方法。谢谢