您好,我有一个关于 JS 中事件的非常基本的问题。
我可以做这样的事情:
var myobj = { };
document.getElementById("myid").onmousemove = function (e) {
myobj.e = e;
}
...
// called from function which will occure after onmousemove guaranteed
document.getElementById("info").innerHTML = myobj.e.type;
我的游戏需要这个。我想保存事件数据并稍后在游戏循环的更新函数中调度它。
好的。这是 jsfiddle。
<p id="info"></p><canvas id="can" width="400px" height="400px" style="border: 2px solid red"></canvas>
var my = { };
document.getElementById("can").onclick = function(e, custom) {
my.e = e;
}
document.getElementById("can").onmouseover = function(e, custom) {
my.e = e;
}
document.getElementById("can").onmouseout = function(e, custom) {
my.e = e;
}
document.getElementById("can").oncontextmenu = function(e, custom) {
my.e = e;
}
document.getElementById("info").innerHTML = my.e.type;
它不起作用。
最佳答案
是的,你可以这样做
var myEvents = [];
var myDiv = document.getElementById("myDiv");
var infoDiv = document.getElementById("info");
function logEvent(e)
{
e.preventDefault(); // prevent default behaviour if needed
myEvents.push(e); // Store event info
}
myDiv.onmousemove = myDiv.onmousedown = myDiv.onmouseup = logEvent;
// Set a timer for looping through the events
gameTimer = setInterval(function() {
// Loop through events
while (myEvents.length>0)
{
ev = myEvents.shift();
// Display event info
infoDiv.innerHTML = ev.type + " " + infoDiv.innerHTML;
}
}, 100)
关于javascript - JS中如何将事件分配给变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13040025/