jQuery之call()方法的使用
最近在做项目时候,写了几行关于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()方法的使用相关推荐
- jQuery通过ajax方法获取json数据不执行success的原因及解决方法
1.jquery通过ajax方法获取json数据不执行success回调 问题描述:jquery通过ajax方法获取json数据不执行success回调方法 问题原因:json格式存在问题或不符合标准 ...
- Jquery源码中的Javascript基础知识(四)— jQuery.fn.init方法
$() 即调用了jQuery.fn.init方法 jQuery = function( selector, context ) {return new jQuery.fn.init( selector ...
- jquery中not方法失效的解决方案
jquery中not方法失效的解决方案 参考文章: (1)jquery中not方法失效的解决方案 (2)https://www.cnblogs.com/xxqxxq/p/9269669.html 备忘 ...
- jQuery使用blur()方法触发两次的解决方法
jQuery使用blur()方法触发两次的解决方法 参考文章: (1)jQuery使用blur()方法触发两次的解决方法 (2)https://www.cnblogs.com/wgl1995/p/92 ...
- 使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题
使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题 参考文章: (1)使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题 ( ...
- jquery 异步调用方法中不能给全局变量赋值的原因及解决办法
在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们发现程序执行完后并没有获取到我们想要的值,这时很有可能是因为你用的是ajax的异步调用async:t ...
- jquery的$.extent()方法的总结
1.jQuery.extend(object);为扩展jQuery类本身.为类添加新的方法. 2.jQuery.fn.extend(object);给jQuery对象添加方法. jQuery.fn ...
- 理解一下jQuery.extend()和jQuery.fn.extend()方法
为了方便用户创建插件,jquery提供了jQuery.extend()和jQuery.fn.extend()方法. 1. jQuery.extend() 方法有一个重载. jQuery.extend( ...
- jquery selector 使用方法
jquery selector 使用方法 <select class="selector"></select> 1 设置value为pxx的项选中$(&qu ...
- jQuery的Ajax方法实现注册邮箱时用户名查询
利用jQuery实现邮箱注册时的重复用户名查询 Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术.通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新.这意味着可 ...
最新文章
- mysql 协议的ResultsetRow包及解析
- Postman请求linux服务器报错:503Forwarding failure,由于服务器端口未开放;服务器端口开放与关闭
- kali - Nmap
- 各种实用的 PHP 开源库推荐
- 用STS创建Maven的Web项目转
- 如何开始 java core java
- 设计素材模板|艺术感中国风海报
- 中英文常用标点符号统一清洗为英文格式
- 在c语言中 char型数据在内存中的存储形式是,在c语言中char型数据在内存中的存储形式是什么?...
- 如何给电脑安装双系统
- 淘宝买二级c语言题库可以嘛,大学计算机二级考试(C语言)试题在哪可以买?...
- minio对象存储单机部署并设置开机自启动及集成spring boot进行(创建删除桶)(上传下载删除文件)
- 批量清理VS编译产生的文件
- react 基础学习
- Directshow的优点与缺点
- 如何看待中科院合肥研究院 90 多名科研人员集体辞职?
- 虚拟机配置静态IP后,已可以联网,但换了网络或者位置后无法联网
- 全国计算机一级考试理论部分,全国计算机等级考试一级理论题
- 操作系统 | 期末复习 · I/O系统
- iview upload组件手动控制上传,excel表格导入
热门文章
- tableau三轴合并_举个栗子!Tableau技巧(34):同一张图表如何呈现多个度量
- 电机控制系统php,电机控制系统的未来发展变化趋势
- .net mysql 类库_(精华)2020年6月27日 C#类库 MySqlHelper(Ado.net数据库封装)
- java 纯面向对象_Java到底是不是一种纯面向对象语言?
- 关于JSP页面无法加载css,游览器访问jsp页面样式未生效导致乱序
- oracle导出中文utf8乱码,ORACLE导入导出后发生中文乱码的原因及解决办法
- linux php curl.so,linux中php如何安装CURL扩展方法
- 算法的时间复杂度和空间复杂度的原理
- mysql event使用,用MySQL的Event设置定时任务执行sql语句 | 老疯子
- 桶排序算法c语言10个数组,桶排序算法