有人可以告诉我为什么这不起作用jsfiddle Code?
JavaScript的:
$(document).ready(function() {
$(document).live("keydown", KeyOperation);
});
function KeyOperation(e)
{
alert("in");
var top = $(".move").offset().top;
var left = $(".move").offset().left;
var IncrementBy = 10;
if (e.which == 37) {
$(".move").css({ left: left - 10 });
}
else if (e.which == 38) {
$(".move").css({ top: top - IncrementBy });
}
else if (e.which == 39) {
$(".move").css({ left: left + IncrementBy });
}
else if (e.which == 40) {
$(".move").css({ top: top + IncrementBy });
}
}
HTML:
<div class="move"></div>
CSS:
.move
{
width: 100px;
height:100px;
border:1px solid red;
}
答案 0 :(得分:3)
假设问题是元素没有移动(你的问题并没有真正解决问题),原因是元素定位不正确。
将position: absolute
或position: relative
添加到您的CSS中。
这是一个updated fiddle。
答案 1 :(得分:0)
您需要删除代码中的alert
函数,并将.live
函数替换为.keydown
函数。