jQuery之call()方法的使用
2015-12-13 19:59
519 查看
最近在做项目时候,写了几行关于DOM操作的代码,在方法中使用了this,在后期重构的时候,想将这段分离出来做成一个方法。
最开始想的很简单,就直接分离出来使用方法名称调用即可。
但是实际操作的时候没有效果,经过检查发现,出错的地方是因为方法中有this。此时的this,已经不是原来的触发事件的对象了,在使用Intellij进行重构,其使用到了一个方法 method.call(this)进行调用。
百度后发现:
如上文描述一样:
相关代码如下:
调用的时候可以使用
参考链接:http://www.365mini.com/page/javascript-function-call.htm
最开始想的很简单,就直接分离出来使用方法名称调用即可。
但是实际操作的时候没有效果,经过检查发现,出错的地方是因为方法中有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
相关文章推荐
- #学习笔记#(16)ul li 二级下拉菜单-jQuery
- jQuery? 回归JavaScript原生API
- jquery特效(8)—倒计时
- 日期选择器:jquery datepicker的使用
- 使用jQuery播放/暂停 HTML5视频
- jquery特效(7)—弹出遮罩层且内容居中
- 表格排序——jQuery插件tablesorter的使用
- jQuery动画入门--顺序执行
- 大爱jQuery,10美女模特有用jQuery/CSS3插入(集成点免费下载)
- jquery 获取元素索引值index()方法
- jQuery操作cookie
- jquery中toggle() 方法
- JQuery中的AJAX
- JQuery中的动画效果
- jquery复选框 选中事件 及其判断是否被选中
- jQuery常用的查找Dom元素方法
- CSS设计表格(中)--jQuery实现删除指定行
- JQuery中的DOM操作
- JQuery基础
- JQuery 如何选择带有多个class的元素