jQuery之call()方法的使用
生活随笔
收集整理的這篇文章主要介紹了
jQuery之call()方法的使用
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
最近在做項(xiàng)目時(shí)候,寫了幾行關(guān)于DOM操作的代碼,在方法中使用了this,在后期重構(gòu)的時(shí)候,想將這段分離出來做成一個(gè)方法。
最開始想的很簡(jiǎn)單,就直接分離出來使用方法名稱調(diào)用即可。
但是實(shí)際操作的時(shí)候沒有效果,經(jīng)過檢查發(fā)現(xiàn),出錯(cuò)的地方是因?yàn)榉椒ㄖ杏衪his。此時(shí)的this,已經(jīng)不是原來的觸發(fā)事件的對(duì)象了,在使用Intellij進(jìn)行重構(gòu),其使用到了一個(gè)方法 method.call(this)進(jìn)行調(diào)用。
百度后發(fā)現(xiàn):
如上文描述一樣:?
thisObj: 指定函數(shù)執(zhí)行的時(shí)候,函數(shù)內(nèi)部的this指針就是傳入的這個(gè)。 arg1:從頭到尾的參數(shù)。相關(guān)代碼如下:
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");}}調(diào)用的時(shí)候可以使用
$(".level1>div").click(function () {slide2.call(this);return false;});?
參考鏈接:http://www.365mini.com/page/javascript-function-call.htm
轉(zhuǎn)載于:https://www.cnblogs.com/LiuChunfu/p/5043233.html
總結(jié)
以上是生活随笔為你收集整理的jQuery之call()方法的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS开发UI篇—使用storyboar
- 下一篇: 7 libjpeg使用