js addeventlistener能使用哪些事件,vue window.addEventListener

  js addeventlistener能使用哪些事件,vue window.addEventListener

  本文主要介绍Vuejs利用addEventListener的事件触发执行函数的这种方法,有很好的参考价值。希望对大家有帮助。如有错误或不足之处,请不吝赐教。

  

目录

  使用addEventListener事件触发此执行功能。如下例所示,addEventListener中的这个事件函数指出了问题所在。参见代码2。

  

使用addEventListener事件触发执行函数的this

  在普通的dom操作中,如果使用addEventListener

  

如下面的例子

  !index.html

  !声明文档类型

  html lang=en

  头

  meta charset=UTF-8

  标题标题/标题

  /头

  身体

  div id=btn_container

  button id=btn 单击我/button

  /div

  script src=test.js/script

  /body

  /html

  设fn=function() {

  console . log(this);

  };

  document.getElementById(btn )。addEventListener(click ,fn);

  然后,控制台中该输出的值就是触发该事件的dom节点。

  (另:有用链接=门户)

  如果使用vuejs中的自定义指令来触发click事件,那么trigger函数中的这个是什么?

  /**

  *这是vuejs的一个模块。

  */

  模板

  div class=容器

  div class=row

  div class= col-xs-12 col-sm-8 col-sm-offset-2 col-MD-6 col-MD-offset-3

  按钮class= BTN BTN-primary v-myOn:click= fn click me/button

  /div

  /div

  /div

  /模板

  脚本

  导出默认值{

  指令:{

  我的儿子:{

  bind(el,binding,vnode) {

  const event=binding.arg

  const fn=binding.value

  console . log(El);

  el.addEventListener(事件,fn);

  }

  }

  },

  方法:{

  fn() {

  console . log(this);

  }

  }

  }

  /脚本

  经过测试,这里控制台输出的值是:

  这是一个虚拟dom的值,其中$el的值是div.container,它是这个模块最外面的dom节点。但是,此事件绑定到一个按钮,控制台中bind输出的第一个el的值是

  然后,再次测试后,将另一个div class=outer-container 添加到这个div class=container 的外层

  测试结果如下:

  $el 的值依然为最外层的dom节点

  结论:如果在Vuejs中使用了自定义指令绑定事件,那么在事件被触发后的执行函数中,this指向该模块最外层的dom节点。

  

addEventListener中事件函数的this指向问题

  

看代码

  //为绑定单击事件定义一个可见框

  var box=document . getelementbyid( box );

  box.x=box

  //设置执行函数的对象属性

  函数outFunc() {

  this.x= outFunc

  box.addEventListener(click ,func,false);

  }

  out func();

  函数func() {

  console . log(this . x);//输出框显示这是指向调用addEventListener的对象。

  }

  

代码2

  函数outFunc() {

  this.x= outFunc//给全局对象window.x赋值(相当于给全局变量赋值)

  box.addEventListener(click ,func.bind(this),false);

  }

  函数func() {

  console . log(this . x);//output out unc使用bind来设置此

  }

  总结:用bind绑定的事件是指向函数,否则指向调用addEventListener的对象。

  以上个人经历,希望能给大家一个参考,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: