0
$(this.element).live('mouseleave', function(evt){
$(this.element).trigger("mouseup");
});

mouseleave で同じ要素の mouseup イベントをトリガーしようとしていますが、正常に動作していません。必要な変更を提案してください。

4

2 に答える 2

1

イベントを処理するときにコンテキストを変更しています。

試す:

$(this.element).live('mouseleave', function(evt){
 $(this).trigger("mouseup");
});

これはおそらく、あなたが達成しようとしていることを行うための正しい方法ではありません.より広いコード例がなければ、それを伝えるのは難しいです.

独自のハンドラーであることを宣言してから、各イベントをラップするハンドラーを呼び出すことができます。これはおそらくより良い解決策です!

編集

コメントへの応答:

次のようなことができます。

var myOnMouseUp = function(event){
  console.log('Do something on mouse up')
}

$(this.element).live('mouseleave', myOnMouseUp);

$(this.element).live('mouseup', myOnMouseUp);
于 2013-03-19T13:40:27.267 に答える
0

これはうまくいくはずです:

$("#test").on("mouseup",function(){
alert("Mouse up triggered!");
});
$("#test").on('mouseleave', function(evt){
$("#test").trigger("mouseup");
});

「テスト」は単なるリンクです。

http://jsfiddle.net/8D26W/

于 2013-03-19T13:42:22.023 に答える