3

次のjqueryコードがありますが、onイベントを使用してバインディングを実装しようとすると正しく機能しません。`

    $(".editable_template_region").on({"mouseover":function(){
        $('<a href="javascript:void(0)" class="hoverItTemplate">click to edit</a>').appendTo($(this));

    }, "mouseout" : function() {
        $(this).find(".hoverItTemplate").remove();
    }});`

イベントが「フラッシュ」したり、前後に繰り返し循環したりするため、このコードは正しくないと思います。だから私のホバークラスはただ点滅します。

これは以前に機能したコードですが、バインディングを改善するためにこれをonイベントに切り替えたいと思います。

      $(".editable_template_region").hover(function() {
        $('<a href="javascript:void(0)" class="hoverItTemplate">click to edit</a>').appendTo($(this));
    }, function() {
        $(this).find(".hoverItTemplate").remove();
    });     

前もって感謝します。

4

1 に答える 1

3

これを試して:

$(".editable_template_region").on({
    mouseenter: function() {
        $('<a href="javascript:void(0)" class="hoverItTemplate">click to edit</a>').appendTo($(this));
    },
    mouseleave: function() {
        $(this).find(".hoverItTemplate").remove();
    }
});​

「より良いバインディング」が何を意味するのかわかりませんが、上記、またはプラン.hover()は両方とも機能するはずです。

于 2012-06-20T20:44:50.577 に答える