JQuery将此传递给函数

Jon*_*man 4 javascript jquery function this hover

我需要发送this到capIn()和capOut()函数,以便我可以定位正确.slide的子div.我如何传递this给一个函数.this将是徘徊.

$(".slide").hover(function(){capIn();capOut();});
Run Code Online (Sandbox Code Playgroud)

Sha*_*oli 11

纵观函数名capIncapOut它是有道理的,他们是2点不同的行为.我相信你有两种不同的行为mouseentermouseleave事件.hover方法可以采用2种方法,一种用于mouseenter另一种用于mouseleave.你可以试试这个

$(".slide").hover(capIn, capOut);
Run Code Online (Sandbox Code Playgroud)

你可以this在里面使用capIn,capOut它会指向.slide你徘徊的元素.

function capIn(){
   var $childrens = $(this).children();
}

function capOut(){
   var $childrens = $(this).children();
}
Run Code Online (Sandbox Code Playgroud)


dgi*_*and 10

$(".slide").hover(function(){
    capIn.apply(this);
    capOut.apply(this);
});
Run Code Online (Sandbox Code Playgroud)

请参见:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/apply

更新:

如果capIn是为了mouseenter,capOut是为了mouseleave,那么:

$(".slide").hover(function(){
    capIn.apply(this);
}, function(){
    capOut.apply(this);
});
Run Code Online (Sandbox Code Playgroud)

ShankarSangoli的解决方案更简洁,但如果除了需要传递任何参数this,那么:capIn.apply(this, arguments)可以使用.