Я смотрю на пример события "click" в документации jQuery здесь . Я могу реорганизовать две анонимные функции следующим образом, и это все еще работает:
$(document).ready(function(){
$("p").hover(hilite, remove_hilite);
});
function hilite()
{
$(this).addClass("hilite");
}
function remove_hilite()
{
$(this).removeClass("hilite");
}
Однако, что если я захочу передать аргумент hilite
? Моим первым предположением было то, что я должен использовать анонимную функцию, такую как this . Однако, похоже, это не работает, даже когда я использую его без аргументов:
$("p").hover(
function()
{
hilite();
}
,
function()
{
remove_hilite();
}
);
Я также попробовал рефакторинг следующим образом, но это тоже не сработало:
$(document).ready(function(){
$("p").hover(hilite2, remove_hilite);
});
function hilite2(){
return hilite();
}
Как правильно это сделать? Я чувствую, что у меня есть большое концептуальное недоразумение. В частности, мне неясно, как в моем первом рефакторинге объект this
передается в функцию hilite
.