[英]Add a second onChange event?
嗨,我在網上找到了這個腳本,它將一個onChange事件添加到一個元素中,我現在想在同一個元素中添加第二個onChange事件。 繼承人腳本:
document.getElementById('piname').onchange =
function() {
removeChildren({
parentId: 'account_table',
childName: 'extraaccount'
});
}
我要添加的onChange事件是:
showAccount(this.value)
如果需要,使用addEventListener()
(和attachEvent
作為后備)。
例:
document.getElementById('piname').addEventListener("change", function(e){
e = e || event;
showAccount(e.target.value);
}, false);
示例,后備:
var element = document.getElementById('piname');
if(element.addEventListener){
element.addEventListener("change", function(e){
e = e || event;
showAccount(e.target.value);
}, false);
}
else if(element.attachEvent){
element.attachEvent("onchange", function(e){
e = e || event;
showAccount(e.target.value);
});
}
最簡單的方法是緩存舊函數並從新函數中調用它:
var el = document.getElementById('piname'),
old = el.onchange;
el.onchange = function () {
old.call(el);
showAccount(this.value);
}
除此之外,您可以使用addEventListener
(W3C標准)和attachEvent
(IE8及更低版本):
var el = document.getElementById('piname'),
fn = function (e) {
e = e || window.event;
showAccount((e.target || e.srcElement).value);
};
if ("addEventListener" in el) {
el.addEventListener("change", fn, false);
}
else {
el.attachEvent("onchange", fn);
}
這些方法允許您根據需要將多個處理程序附加到事件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.