$(window).keydown(function(event){keyDown(event);});
$("#game").click(function(e){
var x = e.pageX - $(this).offset().left;
var y = e.pageY - $(this).offset().top;
alert(x+" "+y);
});
非常感谢任何帮助。
答案 0 :(得分:3)
我猜你的标签没有得到事件,因为它没有焦点?
这是一个在我的环境中工作的解决方案。 要使div标签可以通过它传递tabindex =“0”属性。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<script type="text/javascript">
function xxx() {
var div = document.getElementById('x');
div.focus();
}
function keyd(e) {
alert("DDDDDDDD" + e );
}
</script>
</head>
<body onload="xxx();">
<div tabindex="0" id='x' onkeydown="keyd(event);" style="background-color: green; width: 100px; height: 100px;">
</div>
</body>
</html>
答案 1 :(得分:1)
我把你的代码放在jsFiddle中,它似乎每次都有效:http://jsfiddle.net/ianoxley/fb26Y/
只是想知道您正在使用哪种浏览器/操作系统?您的keyDown
事件处理程序中调用的keydown
函数会发生什么?