zoukankan      html  css  js  c++  java
  • 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);

  • 相关阅读:
    The library contains native libr…
    DHCP configurations in Ubuntu
    如何编译Linux Kernel
    Rsync 使用指南
    Linux下用semaphore来做进程间互斥
    How to generate patch file?
    PS3MediaServer(用于PS3的DLNA server) 在Ubuntu 9.10上的安装和配置
    嘉猪的最爱 PS3
    梦寐以求的SPL总冠军,KT你赢了
    PLU space in 优酷
  • 原文地址:https://www.cnblogs.com/orchid/p/1708074.html
Copyright © 2011-2022 走看看