Javascript 触发onclick时div不移动?
你能告诉我为什么我的JS不工作吗Javascript 触发onclick时div不移动?,javascript,html,css,Javascript,Html,Css,你能告诉我为什么我的JS不工作吗 当我在地图中单击时,假设将mark div移动到鼠标xy。打开控制台,您将看到: 未捕获的TypeError:无法读取未定义的属性“MouseX” 在javascript代码的第33行中,document.Show是未定义的 document.Show.MouseX.value = tempX; 当您单击时,您会看到: 未捕获的TypeError:无法读取null的属性“style” 在第52行附近,其中标记为空: <div id="map" oncl
当我在地图中单击时,假设将mark div移动到鼠标xy。打开控制台,您将看到: 未捕获的TypeError:无法读取未定义的属性“MouseX” 在javascript代码的
第33行
中,document.Show
是未定义的
document.Show.MouseX.value = tempX;
当您单击时,您会看到:
未捕获的TypeError:无法读取null的属性“style”
在第52行
附近,其中标记
为空
:
<div id="map" onclick="
mark.style.left = tempX + 'px';
mark.style.top = tempY + 'px';
">
<div id="mark"></div>
如何在firefox中打开控制台?另外,如何解决这些问题?我是JS的初学者。@prime:在Firefox中,您需要下载一个名为Firebug的扩展。然后你可以点击窗口底部的bug图标,你会看到底部有一系列的面板。与此同时,我刚刚更新了我的答案。将
标记移到页面底部。它需要在成功加载“mark”
元素后运行。工具>错误控制台也适用于FF中的非Firebug用户。谢谢@Matt。我更经常使用Chrome,所以我对FF同样熟悉。
<body>
<div id="map" onclick="
mark.style.left = tempX + 'px';
mark.style.top = tempY + 'px';
">
<div id="mark"></div>
</div>
<script type="text/javascript">
<!--
var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;
var mark = document.getElementById('mark');
var tempX = 0;
var tempY = 0;
function getMouseXY(e) {
if (IE) { // grab the x-y pos.s if browser is IE
tempX = event.clientX + document.body.scrollLeft;
tempY = event.clientY + document.body.scrollTop;
}
else { // grab the x-y pos.s if browser is NS
tempX = e.pageX;
tempY = e.pageY;
}
if (tempX < 0){tempX = 0;}
if (tempY < 0){tempY = 0;}
document.Show.MouseX.value = tempX;
document.Show.MouseY.value = tempY;
return true;
}
//-->
</script>
</body>