jQueryを使用して、ページ上の要素にホバーコールバックを設定しました。私は今、いくつかの要素に新しいホバー動作を一時的に設定する必要があるモジュールを書いています。新しいモジュールは、ホバー機能の元のコードにアクセスできません。
新しいホバー関数を設定する前に古いホバー関数を保存して、一時的なホバー動作が終了したときにそれらを復元できるようにします。
jQuery.data()
これらは次の関数を使用して保存できると思います。
//save old hover behavior (somehow)
$('#foo').data('oldhoverin',???)
$('#foo').data('oldhoverout',???);
//set new hover behavior
$('#foo').hover(newhoverin,newhoverout);
新しいホバー動作で何かをします...
//restore old hover behaviour
$('#foo').hover($('#foo').data('oldhoverin'),$('#foo').data('oldhoverout'));
しかし、jQueryから現在登録されているホバー関数を取得するにはどうすればよいですか?
Shadow2531、最初にコールバックを登録したコードを変更せずにこれを実行しようとしています。そうでなければ、あなたの提案はうまくいくでしょう。提案をありがとう、そして私が探しているものを明確にするのを手伝ってくれてありがとう。たぶん、jqueryのソースにアクセスして、これらのコールバックが内部でどのように格納されているかを理解する必要があります。たぶん、質問を「jqueryを変更せずにこれを行うことは可能ですか?」に変更する必要があります。