質問

使用した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?"

役に立ちましたか?

解決

呼び出しイベント bind 方法など hover ないものを削除してくださいイベントハンドラだけを追加し新しいイベントではお客様の考える"回復'のイベント機能な仕事としてではなく、削除をご希望のイベント。

を追加できる自分を取り外してください影響を与えずにその他のイベントに利用し、イベントnamespacing: http://docs.jquery.com/Events_(ご案内)#Namespacing_events

他のヒント

ということができます:


<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Jquery - Get, change and restore hover handlers</title>
        <script src="jquery.js"></script>
        <script>
            function setHover(obj, mouseenter, mouseleave) {
                obj.data("_mouseenter", mouseenter);
                obj.data("_mouseleave", mouseleave);
                obj.hover(obj.data("_mouseenter"), obj.data("_mouseleave"));
            }
            function removeHover(obj) {
                obj.unbind("mouseenter", obj.data("_mouseenter"));
                obj.unbind("mouseleave", obj.data("_mouseleave"));
                obj.data("_mouseenter", undefined);
                obj.data("_mouseleave", undefined);
            }
            $(document).ready(function() {
                var test = $("#test");
                setHover(test, function(e) {
                    alert("original " + e.type);
                }, function(e) {
                    alert("original " + e.type);
                });
                var saved_mouseenter = test.data("_mouseenter");
                var saved_mouseleave = test.data("_mouseleave");
                removeHover(test);
                setHover(test, function() {
                    alert("zip");
                }, function() {
                    alert('zam');
                });
                removeHover(test);
                setHover(test, saved_mouseenter, saved_mouseleave);
            });
        </script>
    </head>
    <body>
        <p><a id="test" href="">test</a></p>
    </body>
</html>

なかで過ごせばよいかを教えてくれる。

さんこうを利用することができるbindカスタムイベントをトリガします。

http://docs.jquery.com/Events/bind

なので追加のお褒めのイベントスクリプト機能のために必要なその推移、その後トリガーのカスタムイベントです。

もしやすくなるか非表示の要素をクローンとイベントハンドラが取り付けられていませんか?それだけでスワップの要素できた..

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top