- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我意识到它在 chrome 控制台中引发了数千个错误时,我只是将这个鼠标跟踪小示例放在一起。
Uncaught TypeError: Cannot read property 'clientX' of undefined
据我所知,这意味着 chrome 无法找到该属性所属的对象。但是如果我打开这个例子,它会显示正确的坐标。请帮助我摆脱这些无用的错误。
<html>
<head>
<style type="text/css">
#tracking {
width: 300px;
height: 300px;
background-size: 300px 300px;
background-color: #00F;
left: 100px;
top: 100px;
position: absolute;
}
</style>
<script type="text/javascript">
var mX, mY;
var track;
document.onmousemove = update;
function trackload()
{
track = document.getElementById("tracking");
setTimeout("update()",10);
}
function update(e)
{
mX = e.clientX;
mY = e.clientY;
if (track) {
track.innerHTML = "X: " + mX + " Y: " + mY + " deg: " + (Math.atan(mY / mX) * (180/Math.PI));
track.style.cssText = "-webkit-transform: rotate(" + (Math.atan(mY / mX) * (180/Math.PI)) + "deg);";}
setTimeout("update()",10);
}
</script>
</head>
<body>
<div id="tracking" onclick="trackload()"></div>
</body>
最佳答案
删除对 setTimeout
的调用以防止错误。这是因为 update
函数需要一个事件对象,当您通过 setTimeout
调用该函数时,该对象不会传入。因此 e
是未定义的,你会得到你的错误。
这是一个 working example .
如果 setTimeout
调用有充分的理由,您将需要对其进行解释,因为乍一看我无法理解为什么需要它们。作为旁注,将字符串传递给 setTimeout
通常被认为是不好的做法(它是 eval
的别名)。您可以只传递对函数的引用。
关于javascript 的 onmousemove/event.clientX 正在运行但会抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10286622/
我确定我在这里遗漏了一些简单的东西,但我很难过。 为什么 addEventListener 和 removeEventListener 函数在这些 React 生命周期方法中不起作用,但它们下面的注释
我真的不知道如何在标题中表达这一点,但我正在尝试创建一个包含所有事件函数的类,但我遇到了奇怪的问题。 这是问题的一些模拟代码。 class Mouse{ constructor(){
我正在学习使用 onmousemove 事件,但无法使其工作,其想法是稍微倾斜图像以创建一种效果,就像它跟随鼠标一样,我猜是一种视差。这就是我想要实现的目标: https://tympanus.net
这个问题已经有答案了: How to get mouse position in jQuery without mouse-events? (7 个回答) 已关闭 3 年前。 在 Javascript
这个问题已经有答案了: What is the (function() { } )() construct in JavaScript? (28 个回答) 已关闭 3 年前。 我正在编写一些 Java
我有下一张 table : div class="container">
我正在尝试使用 javascript 创建一个自定义视频播放器,代码应该在 onmousemove 事件上显示叠加层它确实触发了代码但由于某种原因两次,我认为这是因为每个顶部都有双全屏 div其他,但
function aim() { var mousex = ? } 我找不到如何在 javascript 中获取 onmousemove 事件的鼠标坐标。 最佳答案 var guide =
我搜索了本博客和其他博客中提供的答案,但没有找到任何解决方案。非常感谢您的帮助。 我有一个 onmousemove 事件,它正在执行要触发的事件列表中的第一项,但不会执行第二项。 document.g
我正在我网页上的一个 div 中加载一个外部网页(即本例中的 www.duckduckgo.com)。我想在 div 内部和外部获取鼠标的 X 和 Y 位置,但是当我在 div 内部时,网页似乎阻止了
我正在做一个jsp页面,它记录了鼠标在该页面上的时刻。我有记录时刻的代码,但我不知道如何将总时刻的最终值传递给变量? onmousemove: Mouse over and leave me!
我已经对 javascript 中的事件进行了一些研究,但仍然无法弄清楚 onmousemove 中传递给事件的内容是什么。 摘自:W3schools onmousemove="show_coords
我想在单击鼠标并在元素上方更改背景颜色,并可以移动它,这样您就不必单击每个元素,而是能够用鼠标“绘制”。但我不知道怎么办。我现在的代码如下 function change_color(x, y) {
我的应用程序有 350 个编辑字段,所有这些字段都应有一个 OnMouseMove 事件。我已经为所有这些生成了以下代码: ... type ... procedure Edit1MouseMo
var zoomPad = document.getElementsByClassName('zoomPad'); zoomPad[0].onmouseover = function(){ v
这可能已得到解答,但无法在搜索中找到任何正面结果。 有一个脚本可以使用各种额外的计算来移动元素“正常” x,y 定位。 我没有使用 JQuery 或任何其他库,但这里有一个核心示例:>> fiddle
我这里有一个真正的问题。我希望仅当单击对象以及将鼠标移到对象上时才调用函数。这是一个示例(忽略奇怪的语法)以帮助您理解: 我正在想一个办法来解决这个问题。如果我创建一个 onMouseDown 来触
为了给我们的 Web 应用程序添加一些个性,我在某些元素上添加了一些动画,当鼠标靠近时,我们的机器人吉祥物会从后面窥视。为此,我使用 onmousemove 函数来检查光标的距离,并在鼠标靠近时为机器
大家好:)如果我在示例中使用鼠标指针传递 div,函数在控制台中打印两次,这意味着 onmousemove 事件被触发两次。我还打印了鼠标指针的坐标以及您如何在下图,我也没有垂直移动,只是水平移动。考
我正在实现“调整大小 handle ”来更改左侧导航面板的宽度。这是一个div收到onMouseDown()事件,计算必要的宽度并将它们应用于后续调用中的正确元素 onMouseMove() .但我遇
我是一名优秀的程序员,十分优秀!