<html>
<head>
<title>FML</title>
<script type="text/javascript">
function function1(e, div) {
div.innerHTML="this works"
document.getElementById('myspan').innerHTML= 'x-pos on click: ' + e.clientX
div.addEventListener("mousemove", function(){test(event, this)}, true);
}
function test(e, div) {
div.innerHTML+='<br/>so does this'
//This doesn't work. Can't add event as a parameter to function that has to be executed when using addEventListener
document.getElementById('myspan2').innerHTML= 'y-pos on move: ' + e.clientY
}
</script>
</head>
<body>
<span id="myspan"> </span>
<span id="myspan2"> </span>
<div style="width:100px;height:100px;background-color:blue;overflow:hidden;" onclick="function1(event, this)">
</body>
</html>
点击蓝色div。
我想添加mouseover
事件,使其执行test()
函数,该函数应包含以下参数:this,event。
当调用test(e, div)
函数时,在Firefox和IE中会出现“事件未定义”的错误,尽管在Chrome和Safari中完美地工作。
有没有办法通过使用addEventListener
添加事件参数?我可以在Chrome和Safari中使用window.event
使其正常工作,但这是我想要的确切设置。 我已经搜索了一段时间并进行了试错,但没有成功… 所以FML:/ 除了朝自己的头部开枪之外,还有什么提示/提示/…吗?
我知道jQuery可能会解决所有这些问题,但我想在迁移到jQuery之前熟练掌握Javascript。或者我应该无论如何进行迁移吗?