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
jQuery之call()方法的使用的更多相关文章
- jquery 通过submit()方法 提交表单示例
jquery 通过submit()方法 提交表单示例: 本示例:以用户注册作为例子.使用jquery中的submit()方法实现表单提交. 注:本示例仅提供了对表单的验证,本例只用选用了三个字段作为测 ...
- jquery.on()超级方法
$.on()方法是jquery1.7之后的一个超级方法,将事件绑定和事件委托整合到一个函数中去,支持绑定多个事件,并且可以绑定自定义事件.使用起来很方便. demo传送门 事件委托 首先说一下事件委托 ...
- 重写jquery的ajax方法
//首先备份下jquery的ajax方法 var _ajax=$.ajax; //重写jquery的ajax方法 $.ajax=function(opt){ //备份opt中error和success ...
- jQuery的extend方法
jq中的extend在面试中经常会被问道,今天我总结一个下有关于extend的用法三种进行对比,可能不全,希望大家指点, 用法一: $.extend({}) ,为jQuery类添加方法,可以理解为扩 ...
- jQuery中eq()方法用法实例
本文实例讲述了jQuery中eq()方法用法.分享给大家供大家参考.具体分析如下: 此方法能够获取匹配元素集上的相应位置索引的元素. 匹配元素集上元素的位置索引是从0开始的. 语法结构: 复制代码 代 ...
- HTML 5 的自定义 data-* 属性和jquery的data()方法的使用
人们总喜欢往HTML标签上添加自定义属性来存储和操作数据.但这样做的问题是,你不知道将来会不会有其它脚本把你的自定义属性给重置掉,此外,你这样做也会导致html语法上不符合Html规范,以及一些其它副 ...
- 深度理解Jquery 中 offset() 方法
参考原文:深度理解Jquery 中 offset() 方法
- [转]jQuery的each方法的几种常用的用法
下面提一下jQuery的each方法的几种常用的用法 复制代码 代码如下: var arr = [ "one", "two", "three&quo ...
- jquery中$.ajax方法提交表单
function postdata(){ //提交数据函数 $.ajax({ //调用jqu ...
- JS,JQuery的扩展方法
转 http://blog.csdn.net/tuwen/article/details/11464693 //JS的扩展方法: 1 定义类静态方法扩展 2 定义类对象方法扩展 ...
随机推荐
- ios 视频播放
#import "ViewController.h"@import MediaPlayer; @interface ViewController (){ MPMoviePla ...
- 运行出第一个程序Hello World、第二个程序网页浏览器
很长时间没有发博客记录我的奋斗历程了,原因不外乎遇到了对我而言“巨大的”困难. 经历了长期的找不到合适的教材.找不到Xcode资源.运行不出例程的痛苦以后,近日终于走上正轨. 现在补发一个过去2个月来 ...
- Ubuntu 网管服务器配置
1.设置Linux内核支持ip数据包的转发 echo "1" > /proc/sys/net/ipv4/ip_forward or vi /etc/sysctl.conf ...
- php5.6之后的版本使用curl以@+文件名的方式上传文件无效的解决版本
使用curl上传文件使用file=@文件路径的方式,在php5.6以后的版本中无法使用了 官方文档给出明确解释 如果需要支持的话,可以将CURLOPT_SAFE_UPLOAD设置为false 或者使用 ...
- 关于ckeditor过滤掉html样式标签之我见
1.CKEDITOR编辑器属性可以通过修改/ckeditor/config.js文件来控制 //标签过滤默认是开启的,默认会过了<style>样式标签设置为true可关闭过滤config. ...
- yum no key
http://serverfault.com/questions/525958/redhat-yum-install-gpg-key-retrieval-failed
- git clean -fdx
http://stackoverflow.com/questions/5807137/git-how-to-revert-uncommitted-changes-including-files-and ...
- md5 加密模板
public class MD5Util { public static String getDigestedPassword(String password) throws NoSuchAlgori ...
- cout、cerr、clog
其实大家平常常会用的主要有三个:cout.cerr.clog,首先简单介绍下三者. 这三者在C++中都是标准IO库中提供的输出工具(至于有关的重载问题在此不讨论): cout:写到标准输出的ostre ...
- SimplePath 使用心得
上图是 用SimplePath 做的 寻路,其中 三个 绿点 是 移动的 目标点,三个红点 是 角色移动,蓝色方块是阻挡物体. 这三个角色 移动 有三种 方式,1 随机移动2 按照 绿色小球点 移动 ...