javascript程序库比较(二):事件处理

Prototype程序库对标准的addEventListener和removeEventListener方法提供了浏览器兼容方案,分别成为Event.observe和Event.stopObserving。

例如:

  Event.observe(element,'event','eventlistener);

  Event.stopObserving(element,'event',eventlistener);

它们能够针对不同的浏览器调用适当的方法来添加和删除事件监听器,同时确保必要的环境清理工作,有效的避免了ie中的时间监听器内存泄露问题。

但是,Prototype程序库没有将this的值自动指向应用事件监听器的元素,而是通过为每个函数添加一个bindAsEventListener方法来精确的指定this关键字所指向的元素。

例如:

 var myEventListener=eventListener.bindAsEvenetListener(element);

   Event.observe(element,'event',myEventListener);

 Event.stopObserving(element,'event',myEventListener);

对于阻止事件冒泡和事件的默认行为Prototype提供了统一的方法:Event.stop('event');

 

jQuery程序库管理事件监听器的代码非常简单,只用bind和unbind方法就能够解决添加和删除事件监听器做设计的令人头疼的浏览器兼容问题。

例如:

  $('#id').bind('event',eventlistener);

  $('#id').ubind('event',eventlistener);

jQuery还提供了更简单的方法:

      $('#id').click(clicklistener);

甚至,还可以为列表中的每个节点添加时间监听器:

例如:

  $('a[href]').click(clicklistener);

 

 

转载于:https://www.cnblogs.com/orchid/archive/2010/04/09/1708074.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值