我有以下幾點:重新觸發一個JavaScript事件
<textarea id="text"></textarea>
<textarea id="simulator"></textarea>
<br/>
<div onclick="simulate()">Simulate</div>
keyslog = [];
$('#text').bind('keyup keydown keypress mousedown mouseup', function(e){
keyslog.push(e);
}
function simulate(){
for(var i=0;i<keyslog.length;i++){
var e = keyslog[i];
// how to fire "e" event again on #simulator?
}
}
我失敗的嘗試是:
document.getElementById('simulator').dispatchEvent(e);
而且
$('#simulator').trigger(e);
問題是如何基於已經存儲的事件對象觸發事件。它可以是鼠標或鍵盤事件。
P.S.這個例子是關於在光標改變/使用鼠標突出顯示的支持下運行按下的鍵的回放。
http://stackoverflow.com/questions/596481/simulate-javascript-key-events – airportyh
不確定您是否可以使用以前的事件對象。但你可以根據舊的創建新的。 – airportyh
你確定JavaScript解釋器必須爲每個事件創建一個新的新對象嗎?我認爲它可能會重用事件對象,在這種情況下,你不能將它們存儲起來,你需要複製一份。 – 6502