当前位置: 首页 > 编程笔记 >

浅谈javascript中this在事件中的应用

子车超英
2023-03-14
本文向大家介绍浅谈javascript中this在事件中的应用,包括了浅谈javascript中this在事件中的应用的使用技巧和注意事项,需要的朋友参考一下

this关键字在javascript中是非常强大的,但是如果你不清楚它是怎么工作的就很难使用它.


function dosomething(){ this.style.color="#fff"; } 

上面这段代码中的this指向什么呢,运行dosomething()会输出什么呢?

在javascript中,this总是指向当前执行的这个函数,或者把函数作为方法调用的这个对象.当我们在页面上定义dosomething()这个方法后,this的所有者就是当前的页面,或者说是全局对象.

所以我们执行dosomething()这个函数,会引发错误.因为函数的this指向的是全局对象window,而window对象没有style属性.

复制:


element.onclick=dosomething;

dosomething()现在被整个复制到onclick属性上作为一个方法.所以如果这个事件执行的话,this就指向这个HTML元素,相应HTML元素的color就会改变.dosomething每次复制到事件上,this就会指向当前执行这个方法的html元素.

引用:


<element onclick="dosomething()">

此时你没有复制这个方法,而是引用了这个方法,onclick属性并不包含实际的方法,仅仅只是一个方法的调用.当我们执行这个方法时,this再次指向全局window对象并引发错误.

以上就是本文的全部内容了,有需要的小伙伴好好来研究下吧。

 类似资料:
  • 本文向大家介绍浅谈javascript中createElement事件,包括了浅谈javascript中createElement事件的使用技巧和注意事项,需要的朋友参考一下 createElement是HTML中应用W3C DOM对像模型建立子节点也就是子元素的概念  注:value其实是一个字符,如果将input.value=value*1+1;换成input.value=value+1;则结

  • 本文向大家介绍浅谈JavaScript的事件,包括了浅谈JavaScript的事件的使用技巧和注意事项,需要的朋友参考一下 1、事件流     事件流描述的是从页面中接收事件的顺序。但是IE提出的是冒泡流,而Netscape Communicator提出的是捕获流。 JavaScript事件流 2、事件冒泡(event bubbling)     事件开始由最具体的元素(嵌套层次最深的那个节点)接

  • 本文向大家介绍浅谈javascript的Touch事件,包括了浅谈javascript的Touch事件的使用技巧和注意事项,需要的朋友参考一下 js的touch事件,一般用于移动端的触屏滑动 touchstart:当手指触摸屏幕时触发;即使已经有一个手指放在了屏幕上也会触发。 touchmove:当手指在屏幕上滑动时连续的触发。在这个事件发生期间,调用preventDefault()可阻止滚动。

  • 本文向大家介绍浅谈angularJS中的事件,包括了浅谈angularJS中的事件的使用技巧和注意事项,需要的朋友参考一下 什么是事件 •如同浏览器响应浏览器层的事件,比如鼠标点击、获得焦点,angular应用也可以响应angular事件 •angular事件系统并不与浏览器的事件系统相通,我们只能在作用域上监听angular事件而不是DOM事件 事件传播 因为作用域是有层次的,所以我们可以在作用

  • 本文向大家介绍浅谈jQuery中的事件,包括了浅谈jQuery中的事件的使用技巧和注意事项,需要的朋友参考一下 JQuery事件初见 1.JQuery中的事件绑定 其实呢,JQuery中标准的事件绑定是这样写下:(如下) 但是每次这样写,太过麻烦,还怎么做到Write less,Do more? 所以我们习惯的简写成。 $("#btn").click(function(){  })  这样就方便了

  • 本文向大家介绍浅谈javascript中的事件冒泡和事件捕获,包括了浅谈javascript中的事件冒泡和事件捕获的使用技巧和注意事项,需要的朋友参考一下 1.事件冒泡   IE 的事件流叫做事件冒泡(event bubbling),即事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的节点(文档)。以下面的HTML 页面为例: 如果你单击了页面中的<div