码迷,mamicode.com
首页 > Web开发 > 详细

jQuery之call()方法的使用

时间:2015-12-13 20:18:13      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:

最近在做项目时候,写了几行关于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()方法的使用

标签:

原文地址:http://www.cnblogs.com/LiuChunfu/p/5043233.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!