javascript事件处理

1、使用事件有以下多种途径:

  • 使用传统的XHTML事件处理器属性。如<form οnsubmit="myFunction();">。
  • 被关联至某个对象。如document.getElementById("myForm").onsubmit = myFunction;
  • 使用诸如IE浏览器的attachEvent()这样的私有方法。
  • 使用DOM2方法。如使用一个结点的addEventListener()方法,来设置事件监听器

2、触发事件有以下途径:

  • 对由用户引发或JavaScript引发的动作进行响应时,由浏览器隐式触发。
  • 由JavaScript使用DOM方法显式触发。如document.forms[0].submit();
  • 使用诸如IE浏览器的fireEvent()这样的方法来显式触发。
  • 由JavaScript使用DOM2的dispatchEvent()方法显式触发。

3、基本事件属性

  • onblur
  • onchange
  • onclick
  • ondblclick
  • onfocus
  • onkeydown
  • onkeypress
  • onkeyup
  • onload
  • onmousedown
  • onmousemove
  • onmouseout
  • onmouseover
  • onmouseup
  • onreset
  • onselect
  • onsubmit
  • onunload

4、非标准方式绑定事件:在<script>中使用for属性,通过id来引用一个属性,然后将事件处理器指向处理器

<script type="text/javascript" for="myemid" event="onmouseover">

    ******

</script>

5、使用JavaScript绑定事件:尤其是希望动态添加或移除处理器时,显得更为方便。

6、事件处理器的作用域:是其所在的对象。

7、事件处理器的返回值:可以影响事件的默认动作。取消事件的默认动作,可以通过使用事件处理器返回false来实现。使用最多的就是表单的提交。

8、手动触发事件:如document.myForm1.button1.click();

9、绑定处理器到对象:object.attachEvent("event to handle",eventHandler);要移除一个处理器,可以使用detachEvent()方法,参数与attachEvent()相同。

10、Event对象:当事件发生时,会临时创建一个Event对象,并使其可用于适当的处理器。

  • srcElement:产生该事件的元素
  • type:以字符串形式返回事件类型
  • clientX:相对于用户区域的X坐标
  • clientY:相对于用户区域的Y坐标
  • screenX:相对实际屏幕的X坐标
  • screenY:相对实际屏幕的Y坐标
  • button:确定是哪个鼠标键被按下
  • keyCode:按键的代码
  • altKey:ALT键按下时为真
  • ctrlKey:CTRL键按下时为真
  • shiftKey:SHIFT键按下时为真
  • cancelBubble:表明该事件是否应沿事件层次向上移
  • returnValue:事件返回值
  • fromElement:被移动的元素
  • toElement:正在移动到的元素

11、事件流:在IE中,事件的行为是按照标签结构层次流动执行的。

12、DOM2事件模型:描述了创建、捕获、控制与取消事件的标准方法,IE5和IE6不支持DOM2。

13、DOM2 Event对象:

  • 公用属性:bubbles(一个表示事件流的逻辑值) cancelable(一个表示事件是否可取消的逻辑值) currentTarget(当前正在运行的事件处理器的结点) eventPhase(表示事件流当前阶段的数字值) type(表示事件类型的字符串) target(事件发生时所在结点)
  • 鼠标事件:与XHTML定义的相同。

14、DOM2取消默认动作:提供了Event对象的preventDefault()方法,在事件生命期的任何时期,如果处理器调用该方法,事件的默认动作就会被取消。

15、创建事件:DOM2允许使用document.createEvent()创建人工事件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值