zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Java的格式化输出
    常用排序算法的Python实现
    零基础自学用Python 3开发网络爬虫(一)
    Python常见数据结构整理
    百度天气预报API的使用(java版本)
    大总结
    CCS学习(三)
    CSS学习(页外引用还不懂)
    CSS自定义动画
    ssm日期格式转换
  • 原文地址:https://www.cnblogs.com/LiuChunfu/p/5043233.html
Copyright © 2011-2022 走看看