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

  • 相关阅读:
    form表单
    JsonResponse对象
    HttpRequest对象
    Django基础
    ssh私钥登录
    监控window目录是否为空自定义item
    redis频繁报错Cannot allocate memory
    脱敏html文件文件
    MySQL删除数据
    ftp服务器搭建
  • 原文地址:https://www.cnblogs.com/orchid/p/1708074.html
Copyright © 2011-2022 走看看