我試圖從一個元素複製事件到另一個使用純JS(即不是JQuery)。從一個元素複製JS事件到另一個
我打的錯誤是當有多個事件時,最後一個事件用於兩個。
有點難以解釋,請參考我的jsbin example,我想將#foo
中的mousedown和mouseup事件複製到#bar
。錯誤是,在#bar
元素上mouseup和mousedown都會觸發mouseup事件。
以下是我目前正在使用的代碼段來複制事件。
copyEvents(fromEl, toEl, ['onmousedown', 'onmouseup']);
function copyEvents(fromEl, toEl, events){
for (var i = 0; i < events.length; i++){
var event = events[i];
var func = fromEl[events[i]];
if(func){
if (console){ console.log('Copying event - ' + event + ' = ' + func); }
toEl[event] = function(evt){ func.call(this); };
}
}
}
分配功能直接'TOEL [事件] = func'。 http://jsbin.com/wowap/1/edit – elclanrs