zoukankan      html  css  js  c++  java
  • 框架中的HTML DOM Event 对象

    js中的this上下文会因事件而转换成html dom对象。

    所以就有这样获取当前触发事件的dom对象:

     window.event.srcElement || window.event.target;
    var e = window.event || e;
    var srcElement = e.srcElement || e.target;
    var id=srcElement.id.split("_")[1];//不采用闭包的话就只能手动加id了

     jquery的话,就$('this')

    但是在MVC的工程内部,比如事件对象是evt:

    evt.srcElement (IE支持,对于生成事件的 Window 对象、Document 对象或 Element 对象的引用。)

    evt.target (返回触发此事件的元素)

    evt.currentTarget(返回其事件监听器触发该事件的元素,在捕获和起泡阶段,该属性是非常有用的,因为在这两个节点,它不同于 target 属性。)

    evt.bubbles(指示是否起泡事件类型)

    有趣的是,在appframework中如果采用的是on方法,事件委托给父级节点,那么srcElement,target,currentTarget全都指向了该父节点,而不会指向实际触发事件的子元素。

    照理说,target应该是指向事件的目标节点,应该返回真正触发事件的子元素。

    一般在事件绑定的时候指定的回调函数里面就可以接收这个e参数,

    比如:

    itu.event.on($el.find(me.PIC), "tap", me.picTrigger, me); 

    picTrigger : function(e){
      var me = this,$el = me.$element;
      var id = $(event.target).data("id");
      $el.trigger("reviewList",id);
    }

    这样就可以获取PIC元素的自定义属性data-id值

  • 相关阅读:
    多进程2
    并发编程
    粘包
    socket
    网络编程
    异常与网络编程
    面向对象高级
    多态
    面向对象2
    SQL数据库约束行为---防止数据乱填(即数据规范化)
  • 原文地址:https://www.cnblogs.com/haimingpro/p/4040035.html
Copyright © 2011-2022 走看看