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("_")[];//不采用闭包的话就只能手动加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值

框架中的HTML DOM Event 对象的更多相关文章

  1. 浏览器端-W3School-JavaScript-HTML DOM:HTML DOM Event 对象

    ylbtech-浏览器端-W3School-JavaScript-HTML DOM:HTML DOM Event 对象 1.返回顶部 1. HTML DOM Event 对象 实例 哪个鼠标按钮被点击 ...

  2. HTML DOM Event对象

    我们通常把HTML DOM Event对象叫做Event事件 事件驱动模型 事件源:(触发事件的元素)事件源对象是指event对象 其封装了与事件相关的详细信息. 当事件发生时,只能在事件函数内部访问 ...

  3. laravel框架中Job和事件event的解析

    本篇文章给大家带来的内容是关于laravel框架中Job和事件event的解析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在做项目的时候,一直对Job和Event有个疑惑.感觉两 ...

  4. html中事件处理中的this和event对象

    在用js编写页面事件处理代码时,会经常涉及到this和event对象,但有时在采用不同的事件处理,尤其是在与自定义的对象关联时,这些对象的指向变的有些复杂. 本文来详细介绍下各种场景下 这些对象 真正 ...

  5. Dom EVENT对象

    Event 对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态. 事件通常与函数结合使用,函数不会在事件发生前被执行! 一:测试按键 function which ...

  6. HTML DOM Event 对象

    var event;if (document.createEvent){event = document.createEvent("HTMLEvents");event.initE ...

  7. JavaScript学习笔记(11)——HTML DOM Event对象

    w3cshool:时间参考手册:http://www.w3school.com.cn/jsref/dom_obj_event.asp

  8. DOM中Event 对象如何使用

    DOM中Event 对象如何使用 一.总结 一句话总结: 1.将event作为参数传递进来,然后就可以调用event对象的各种属性和方法了. <body onmousedown="wh ...

  9. vue中如何使用event对象

    原文地址 一.event 对象 (一)事件的 event 对象 你说你是搞前端的,那么你肯定就知道事件,知道事件,你就肯定知道 event 对象吧?各种的库.框架多少都有针对 event 对象的处理. ...

随机推荐

  1. mybatis06 增删改差 源码

    user.java package cn.itcast.mybatis.po; import java.util.Date; public class User { private int id; p ...

  2. 安装Oracle数据库和PLSQL连接数据库

    首先在Oracle官网上下载: 安装前要注意:将win64_11gR2_database_2of2中的\win64_11gR2_database_2of2\database\stage\Compone ...

  3. Android 自定义View修炼-自定义可动画展开收缩View的实现

    有时候需要点击一个view可以动画展开和收缩折叠一个View这样的效果,这样就可以直接自定义View来实现. 本例中,采用继承FrameLayout来实现自定义的ExpandView.下面将详细介绍各 ...

  4. majikan

  5. SSH公钥(public key)验证

    安全的设置服务器 登陆,之前用用户名和密码登陆服务器 这样不安全 ,用SSH公钥(public key)验证  这个办法能很好的解决 登陆服务器 和安全登陆服务器 的特点: 目标: Client 免输 ...

  6. MYSQL批处理

    待更新 版权声明:本文为博主原创文章,未经博主允许不得转载.

  7. ThinkPHP的数据库访问的简单操作

    传统的sql与ThinkPHP中的sql相比较   以user表为例 $user=M('user'); 1: SELECT * FROM user----------$user->select( ...

  8. scope的参数范围

    Default -- 显示当前文件夹下的:文件和文件夹 FilesOnly--显示当前文件夹下的:文件 Recursive --显示当前文件夹下的:所有文件,包括子文件夹中的文件 RecursiveA ...

  9. C# -abstract, override, virtual, new

    new声明的方法,当使用子类的类型来调用的时候,它会运行子类的函数,而如果类型是基类的话,被隐藏的基类函数会被调用.  而子类中函数使用override的时候,则当使用子类的类型来调用的是,它会运行子 ...

  10. 1.RABBITMQ 入门 - WINDOWS - 获取,安装,配置

    一. 背景:     公司项目有所改动,要求微信(移动端调用的接口),日志接口换位log4net,全部改成以rabbitMQ作为服务支持, 二.本地环境:     windows 10 enterpr ...