2012-02-29 16 views

答えて

4

すべてjQueryUIイベントはコールバックの引数としてeventを提供するために、

$(ui).offset() 

は興味深いものになる可能性が

$(".selector").selectable({ 
    stop: function(event, ui) { 
     alert(event.pageX) ; 
    } 
}); 

jQueryUIとの良好な学習のトリックは、ログインすることですeventおよびuiは、いくつかのイベントをコンソールに表示します。特にuiです。

0

これらの行に沿って何かについてはどうですか?

var curX = 0; 
var curY = 0; 

$(document).mousemove(function(e) 
{ 
    curX = e.pageX; curY = e.pageY; 
}); 

$(".selector").selectable({ 
    stop: function(event, ui) { console.log(curX+"/"+curY); } 
}); 

とも:look at.

0

これは役立つでしょうか?他の2つの答えに追加するだけで、console.log(e)を実行すれば、イベントに関する多くの情報を見つけることができます。そして、情報を調べると、pageXとpageYの情報がoriginalEventの下に格納されていることがわかりました。

また
    console.log(e.originalEvent.pageX); 
        console.log(e.originalEvent.pageY); 

、アイテムを選択して、あなたのクロム開発ツールのオープンを持っており、要素を表示し、DIVはの上部と左の位置を計算する、「UI-選択ヘルパー」のクラスに追加されますあなたのマウス。

1

先月、私は、マウスの位置を確認し、jqueryでマウスオーバーを簡単に行うための信頼できる方法が必要だと決めました。以下は私が使用しているコードです。あなたの問題を解決すると思います。

var mouse = { 
    mouseX: null, 
    mouseY: null, 
    init: function() { 
     $(document).bind('mousemove', function(event) { 
      mouse.mouseX = event.pageX; 
      mouse.mouseY = event.pageY; 
     }); 
    }, 
    isOver: function($element) { 
     $elementPosition = $($element).offset(); 
     $elementWidth = $($element).width(); 
     $elementHeight = $($element).height(); 
     $returnValue = true; 
     if (mouse.mouseX !== null) { 
      if (mouse.mouseX < $elementPosition.left) { $returnValue = false; } 
      if (mouse.mouseY < $elementPosition.top) { $returnValue = false; } 
      if (mouse.mouseX > $elementPosition.left + $elementWidth) { $returnValue = false; } 
      if (mouse.mouseY > $elementPosition.top + $elementHeight) { $returnValue = false; } 
     } 
     return $returnValue; 
    } 
} 

あなたは、あなたが任意の時点で現在のマウスの座標を取得することができ、マウスが簡単に特定の要素の上にある場合、あなたは見つけることができdomready上のinitを起動する必要があります。

// Init 
jQuery(document).ready(function() { 
    mouse.init(); 
}); 

//Getting Positions 
var mouseX = mouse.mouseX; 
var mouseY = mouse.mouseY; 

// Determining Mouseover 
if (mouse.isOver($('#elementId'))) { 
    alert('Is over'); 
} 
+0

良いコードですが、OPがjQuery UI選択可能なストップイベントでそれを行う方法を尋ねていました。 –

関連する問題