访问事件处理程序时遇到问题
Having trouble accessing event handler
从我检查的任何地方阅读的内容来看,这就是我访问事件处理程序属性的方式:
canvas.addEventListener('onmousemove', traceMouse(e)); //Handler gets passed in as 'e'
function traceMouse(e) { //Then I could just use it like a normal parameter, right?
mouseX = e.clientX;
mouseY = e.clientY;
}
不幸的是,Firebug坚持认为e没有定义。我完全不知道我哪里做错了,我可能又犯了一些愚蠢的错误,我准备咬掉自己的头。
帮助?
实际上,在addEventListener中,要传递的第二个参数是触发事件时要调用的函数的名称。现在,您正在调用函数并传递它 e(未定义)。所以,代码应该是
canvas.addEventListener('mousemove',traceMouse);
并且事件对象将由浏览器传递,因此您将能够获得clientX和Y。
在任何情况下,您都需要将参数传递给可以使用闭包的函数。下面是一个示例。http://jsfiddle.net/parth1403/fVakB/
相关文章:
- 将PHP变量传递给jQuery时遇到问题
- 将jQuery转换为用户脚本的普通Javascript时遇到问题
- 将子文档推送到父数组时遇到问题
- JQuery FullCalendar在从ajax成功调用rerenderEvents时遇到问题
- 在将javascript附加到我的html中时遇到问题
- 为什么我在以编程方式打开窗口时遇到问题
- 在将缩略图链接到模态时遇到问题
- 使用 ng 模型获取数据时遇到问题
- 是否有其他人在设计Twitter Typeahead时遇到问题'的搜索栏
- 使用jquery进行整数比较时遇到问题
- 使用PhantomJS下载动态web内容时遇到问题
- 设置RequireJS时遇到问题
- 让Javascript在SharePoint 2010上运行时遇到问题
- I'我在react.js中编写for循环时遇到问题
- 通过jQuery获取上传的文件名时遇到问题
- 我在启动我的节点时遇到问题.js IRC 机器人
- Ruby on Rails 4:在 Rails Web 应用程序中添加 Javascript 文件时遇到问题
- 从谷歌地图自定义控件打开离子模态时遇到问题
- 在使用 YAML 和 Google App Engine 时遇到问题
- 在 Chrome 扩展程序中将鼠标悬停在广告上使用时遇到问题