js和jquery中this的问题,怎样在事件中获取对象的操作方式讲解
this在java中表示当前对象,在js中也是表示事件当前对象,这个对象到底是什么,什么时候我们可以使用this表示对象呢?
一个标签绑定一个事件有多种方式,比如说一个input绑定一个键盘弹起事
方式一直接在标签内绑定 <input type="text" onkeyup="searchWord()" id=“xx”>
在<script></script>内 function searchWord(){}
方式二在<script></script>内,
先获取这个对象.onkeyup=function(){..}这个是js的方式
先获取这个对象.onkeyup(function(){..})这个是jquery的方式
以上两个方式都可以为标签绑上事件,但这两个操作是存在差别的,this只能在方式二中用,表示获取的这个对象,也就是这个input,而方式一中使用this,会出问题,因为他不是对象点。上onkeyup的。
那么方式一,要想获取当前对象可以通过两种方式,第一直接通过id这个获取,或者传递一个参数this<input type="text" onleyup="searchWord(this)"这样我们就将当前对象传递了,然后我可以在方法内部直接操作这个参数,这个参数就是当前对象
方式二获取当前对象可以也可以通过id的方式,也可以通过this的方式,因为this就表示当前对象
这个代码是实现鼠标跟着图片走,这个代码中方法添加了一个参数event,这个不是this,也就是说不是不是当前对象document,而是当前事件对象鼠标移动事件