1

このコードをHOVERイベントでラップします...

$("#div_ID").hover(function() {
  // perform stuff here...
}
);

ONCLICKイベントを使用してリンクをクリックすると、上記をトリガーしたいのですが...

$("anchor_ID").click (function() {
 $("div_ID").trigger('hover'); // Not sure if this is even correct
}
);

しかし、それは機能していません。どうすればこれを達成できますか?それも可能ですか?FF v16、IE8、およびGCv23でのみJQueryを使用する

4

2 に答える 2

2

これはどう:

var dosomething = function() {
    // perform the stuff here
}

$('#div_ID').hover(dosomething);
$('anchor_ID').click(dosomething);

しかし、 を使用することに設定されている場合、前に.triggerを含めるのを忘れていたことが問題である可能性があります。そして次のように変更します (jQuery の「ホバー」機能は、「mouseenter」の単なるショートカットです。これをキャッチした @FabrícioMatté の功績によるものです)。#div_IDhovermouseenter

//change this:
$('div_ID').trigger('hover');
//To this:
$('#div_ID').trigger('mouseenter');

にも同じことが当てはまるかもしれませんがanchor_ID、HTML を投稿しない限りわかりません。

更新: @FabrícioMatté からの別の提案: のthisキーワードはdosomething、上記のように呼び出すと少し混乱する可能性があるため、注意してください。キーワードは を使用する場合とはthis異なる動作をする.triggerため、注意が必要です....

于 2012-12-30T02:01:45.630 に答える
1

hoverイベントではないので、できませんtrigger.hover()は、アタッチmouseenterしてmouseleaveハンドラーを簡略化したものです。

$("#anchor_ID").click(function() {
    $("#div_ID").trigger('mouseenter');
});

フィドル

.hover単一の引数が渡されると、関数が両方にアタッチされるためmouseentermouseleaveこれらのいずれかをトリガーできることに注意してください。
ユーザーが. mouseenter_hoverdiv

于 2012-12-30T02:07:41.613 に答える