jQuery之call()方法的使用

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

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

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

百度后发现:ide

如上文描述同样: 函数

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

相关代码以下:this

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"); } }

调用的时候能够使用spa

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

 

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

相关文章
相关标签/搜索