原型 - 事件处理



事件管理是实现跨浏览器脚本编写面临的最大挑战之一。每个浏览器都有不同的方法来处理按键。

Prototype 框架处理所有跨浏览器兼容性问题,并让您免受与事件管理相关的所有麻烦。

Prototype 框架提供Event命名空间,其中包含大量方法,所有方法都将当前事件对象作为参数,并在所有主要浏览器中愉快地生成您请求的信息。

Event 命名空间还提供了一个标准化的键代码列表,您可以将其与键盘相关事件一起使用。以下常量在命名空间中定义:

序号 键常量及描述
1.

KEY_BACKSPACE

表示退格键。

2.

KEY_TAB

表示制表键。

3.

KEY_RETURN

表示回车键。

4.

KEY_ESC

表示 Esc 键。

5.

KEY_LEFT

表示左箭头键。

6.

KEY_UP

表示上箭头键。

7.

KEY_RIGHT

表示右箭头键。

8.

KEY_DOWN

表示下箭头键。

9.

KEY_DELETE

表示删除键。

10.

KEY_HOME

表示 Home 键。

11.

KEY_END

表示 End 键。

12.

KEY_PAGEUP

表示 Page Up 键。

13.

KEY_PAGEDOWN

表示 Page Down 键。

如何处理事件

在开始之前,让我们看看使用事件方法的一个示例。此示例演示如何捕获发生事件的 DOM 元素。

示例

<html>
   <head>
      <title>Prototype examples</title>
      <script type = "text/javascript" src = "/javascript/prototype.js"></script>
      
      <script>
         // Register event 'click' and associated call back.
         Event.observe(document, 'click', respondToClick);
  
         // Callback function to handle the event.
         function respondToClick(event) {
            var element = event.element();
            alert("Tag Name : " + element.tagName );
         }
      </script>
   </head>

   <body>
      <p id = "note"> Click on any part to see the result.</p>
      <p id = "para">This is paragraph</p>
      <div id = "division">This is divsion.</div>
   </body>
</html>

输出

以下是与Event相关的所有方法的完整列表。您最有可能经常使用的函数是observeelementstop

原型事件方法

注意 - 确保您至少拥有 prototype.js 1.6 版。

序号 方法及描述
1. element()

返回发生事件的 DOM 元素。

2. extend()

使用 Event.Methods 中包含的所有方法扩展event

3. findElement()

返回具有给定标签名的第一个 DOM 元素,从发生事件的元素向上查找。

4. isLeftClick()

确定与按钮相关的鼠标事件是否与“左”(实际上是主)按钮有关。

5. observe()

在 DOM 元素上注册事件处理程序。

6. pointerX()

返回鼠标事件的绝对水平位置。

7. pointerY()

返回鼠标事件的绝对垂直位置。

8. stop()

停止事件的传播并阻止其默认操作最终被触发。

9. stopObserving()

注销事件处理程序。

10. unloadCache()

注销通过 observe 注册的所有事件处理程序。自动为您连接。自 1.6 版起不可用。

广告