WEB开发网
开发学院网页设计JavaScript JavaScript Event学习第九章:鼠标事件 阅读

JavaScript Event学习第九章:鼠标事件

 2010-03-30 00:00:00 来源:WEB开发网   
核心提示: 总之,当用户在一个元素上双击的时候click事件总是发生在dblclick之前,JavaScript Event学习第九章:鼠标事件(2),另外,在Netscape中,现在这样的设置虽然都完全正确,但是还有一个问题,第二个click总是会在dblclick之前被分开处理,不管怎样

总之,当用户在一个元素上双击的时候click事件总是发生在dblclick之前。另外,在Netscape中,第二个click总是会在dblclick之前被分开处理。不管怎样,警示框在这是很危险的。

所以保证你的click和dblclick很好的分离能避免很多复杂的事情。

Mousemove

mousemove事件运行的很好,但是需要注意的是那可能需要很多的系统资源来处理所有的mousemove事件。当用户把鼠标移动一个像素,mousemove就触发一次。就算什么都没发生,长而复杂的函数也要耗费很长的时间会影响网站的效率:所有的事情都会变慢,尤其在那些老古董上。

所以最好的办法就是当你需要的时候注册onmousemove事件,在不用的时候尽快移除:

1 element.onmousemove = doSomething;
2 // later
3 element.onmousemove = null;

Mouseover和mouseout

再看看这个例子,换成mouserover然后试试。这个例子只是在ev3上添加了onmouseover的事件处理程序。然而你会注意到不仅仅在ev3上会触发事件在ev4或者span上都会触发。在Mozilla 1.3之前,当鼠标进入一个文本区域的时候都会触发。

原因当然就是事件冒泡。用户在ev4上触发了mouseover事件。在这个元素上没有onmouseover事件处理程序,但是在ev3上有。所以当事件冒泡到ev3上的时候,程序就执行了。

现在这样的设置虽然都完全正确,但是还有一个问题。首要问题就是目标。假设鼠标进入了ev4:

-----------------------------------------
| This is div id="ev3"                  |
|   -----------------------------   |
|   | This is div id="ev4"          |   |
|   | --------               <--------   |
|   | | span |                   |          |
|   | |        |                   |           |
|   | --------                  |          |
|   -----------------------------    |
-----------------------------------------
<--------: mouse movement

编缉推荐阅读以下文章

  • JavaScript Event学习补遗:addEventSimple
  • JavaScript Event学习第十一章:按键的检测
  • JavaScript Event学习第十章:一些可替换的事件对
  • JavaScript Event学习第八章:事件的顺序
  • JavaScript Event学习第七章:事件属性
  • JavaScript Event学习第六章:事件的访问
  • JavaScript Event学习第五章:高级事件注册模型
  • JavaScript Event学习第四章:传统的事件注册模型
  • JavaScript Event学习第三章:早期的事件处理程序
  • JavaScript Event学习第二章:Event

上一页  1 2 3 4 5  下一页

Tags:JavaScript Event 学习

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接