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);

  • 相关阅读:
    少儿编程之我见
    异常处理:java.lang.ClassNotFoundException: javax.xml.bind.JAXBContext
    Maven异常:Could not find artifact
    三种使用分布式锁方案
    技术栈
    给定一个数组,求两数之和等于某个值
    链表--部分知识点整理
    链表
    php序列化和反序列化学习
    data类型的url
  • 原文地址:https://www.cnblogs.com/orchid/p/1708074.html
Copyright © 2011-2022 走看看