最近在做项目时候,写了几行关于DOM操作的代码,在方法中使用了this,在后期重构的时候,想将这段分离出来做成一个方法。

最开始想的很简单,就直接分离出来使用方法名称调用即可。

但是实际操作的时候没有效果,经过检查发现,出错的地方是因为方法中有this。此时的this,已经不是原来的触发事件的对象了,在使用Intellij进行重构,其使用到了一个方法 method.call(this)进行调用。

百度后发现:

如上文描述一样:

thisObj: 指定函数执行的时候,函数内部的this指针就是传入的这个。
arg1:从头到尾的参数。

相关代码如下:

        function slide2() {var moveNode = $(this).next("ul.level2:eq(0)");var classNode = $(this).children(".arrow:eq(0)")if (moveNode.css("display") === "none") {moveNode.slideDown(300);classNode.removeClass("close").addClass("open");} else {moveNode.slideUp(300);classNode.removeClass("open").addClass("close");}}

调用的时候可以使用

            $(".level1>div").click(function () {slide2.call(this);return false;});

参考链接:http://www.365mini.com/page/javascript-function-call.htm

转载于:https://www.cnblogs.com/LiuChunfu/p/5043233.html

jQuery之call()方法的使用相关推荐

  1. jQuery通过ajax方法获取json数据不执行success的原因及解决方法

    1.jquery通过ajax方法获取json数据不执行success回调 问题描述:jquery通过ajax方法获取json数据不执行success回调方法 问题原因:json格式存在问题或不符合标准 ...

  2. Jquery源码中的Javascript基础知识(四)— jQuery.fn.init方法

    $() 即调用了jQuery.fn.init方法 jQuery = function( selector, context ) {return new jQuery.fn.init( selector ...

  3. jquery中not方法失效的解决方案

    jquery中not方法失效的解决方案 参考文章: (1)jquery中not方法失效的解决方案 (2)https://www.cnblogs.com/xxqxxq/p/9269669.html 备忘 ...

  4. jQuery使用blur()方法触发两次的解决方法

    jQuery使用blur()方法触发两次的解决方法 参考文章: (1)jQuery使用blur()方法触发两次的解决方法 (2)https://www.cnblogs.com/wgl1995/p/92 ...

  5. 使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题

    使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题 参考文章: (1)使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题 ( ...

  6. jquery 异步调用方法中不能给全局变量赋值的原因及解决办法

    在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们发现程序执行完后并没有获取到我们想要的值,这时很有可能是因为你用的是ajax的异步调用async:t ...

  7. jquery的$.extent()方法的总结

    1.jQuery.extend(object);为扩展jQuery类本身.为类添加新的方法.  2.jQuery.fn.extend(object);给jQuery对象添加方法. jQuery.fn ...

  8. 理解一下jQuery.extend()和jQuery.fn.extend()方法

    为了方便用户创建插件,jquery提供了jQuery.extend()和jQuery.fn.extend()方法. 1. jQuery.extend() 方法有一个重载. jQuery.extend( ...

  9. jquery selector 使用方法

    jquery selector 使用方法 <select class="selector"></select> 1 设置value为pxx的项选中$(&qu ...

  10. jQuery的Ajax方法实现注册邮箱时用户名查询

    利用jQuery实现邮箱注册时的重复用户名查询 Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术.通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新.这意味着可 ...

最新文章

  1. mysql 协议的ResultsetRow包及解析
  2. Postman请求linux服务器报错:503Forwarding failure,由于服务器端口未开放;服务器端口开放与关闭
  3. kali - Nmap
  4. 各种实用的 PHP 开源库推荐
  5. 用STS创建Maven的Web项目转
  6. 如何开始 java core java
  7. 设计素材模板|艺术感中国风海报
  8. 中英文常用标点符号统一清洗为英文格式
  9. 在c语言中 char型数据在内存中的存储形式是,在c语言中char型数据在内存中的存储形式是什么?...
  10. 如何给电脑安装双系统
  11. 淘宝买二级c语言题库可以嘛,大学计算机二级考试(C语言)试题在哪可以买?...
  12. minio对象存储单机部署并设置开机自启动及集成spring boot进行(创建删除桶)(上传下载删除文件)
  13. 批量清理VS编译产生的文件
  14. react 基础学习
  15. Directshow的优点与缺点
  16. 如何看待中科院合肥研究院 90 多名科研人员集体辞职?
  17. 虚拟机配置静态IP后,已可以联网,但换了网络或者位置后无法联网
  18. 全国计算机一级考试理论部分,全国计算机等级考试一级理论题
  19. 操作系统 | 期末复习 · I/O系统
  20. iview upload组件手动控制上传,excel表格导入

热门文章

  1. tableau三轴合并_举个栗子!Tableau技巧(34):同一张图表如何呈现多个度量
  2. 电机控制系统php,电机控制系统的未来发展变化趋势
  3. .net mysql 类库_(精华)2020年6月27日 C#类库 MySqlHelper(Ado.net数据库封装)
  4. java 纯面向对象_Java到底是不是一种纯面向对象语言?
  5. 关于JSP页面无法加载css,游览器访问jsp页面样式未生效导致乱序
  6. oracle导出中文utf8乱码,ORACLE导入导出后发生中文乱码的原因及解决办法
  7. linux php curl.so,linux中php如何安装CURL扩展方法
  8. 算法的时间复杂度和空间复杂度的原理
  9. mysql event使用,用MySQL的Event设置定时任务执行sql语句 | 老疯子
  10. 桶排序算法c语言10个数组,桶排序算法