帆布,触发鼠标事件
问题描述:
我试图理解一个代码,一个帆布例如:帆布,触发鼠标事件
为什么在事件处理程序代码中的第三个参数“假”?它代表什么?
这里的完整代码
function init() {
// ...
// Attach the mousemove event handler.
canvas.addEventListener('mousemove', ev_mousemove, false);
}
// The mousemove event handler.
var started = false;
function ev_mousemove (ev) {
var x, y;
// Get the mouse position relative to the canvas element.
if (ev.layerX || ev.layerX == 0) { // Firefox
x = ev.layerX;
y = ev.layerY;
}
答
它看起来像有缺失的部分代码。正如你所说的变量开始设置,但没有使用,这就是为什么我觉得有一些代码部分缺失(ev_mousemove函数后也没有一个闭幕大括号)。
的ev.layerX == 0是刚过||这意味着“或”。这是以这种方式使用,所以它不会在Firefox中产生错误。基本上,它说,如果ev.layerX是真实的(现有的),或者是0做...
ND
答
中的addEventListener的第三个真/假参数是用来“捕捉”事件
如果属实,那么您的“鼠标移动”事件将始终第一个转到您的 ev_mousemove和然后转到正常的DOM事件树。
如果是假,那么你的“鼠标移动”事件将只是通过正常的DOM事件树。
除非你有一个理由你自己的事件处理程序的优先级,通常你可以离开这个虚假的任何类型的活动。
+0
非常感谢你,现在我还发现它的链接:[链接] http://www.developphp.com/view_lesson.php?v=827 – user1477955 2013-03-22 14:47:27
非常感谢你,有很大的帮助! – user1477955 2013-03-22 14:48:39