我正在創建一個拖放應用程序,我想要做的是當用戶拖動元素時,如果光標位於某個其他元素上。如何找出遊標是否在元素的邊界
繼承人的流程:
用戶啓動頁
中拖動的元素當鼠標越過某些地方我想打一個Ajax調用。
因爲我知道元素和他們的邊界通過jquery我只是想做最好的方式來檢查。
我正在創建一個拖放應用程序,我想要做的是當用戶拖動元素時,如果光標位於某個其他元素上。如何找出遊標是否在元素的邊界
繼承人的流程:
用戶啓動頁
中拖動的元素當鼠標越過某些地方我想打一個Ajax調用。
因爲我知道元素和他們的邊界通過jquery我只是想做最好的方式來檢查。
從這裏開始:http://docs.jquery.com/Tutorials:Mouse_Position
獲取鼠標座標,並將它與你比較它的項目的.offset()
值。
通過
https://stackoverflow.com/users/650094/adam-terlson
從
find elements that are stacked under (visually) an element in jquery
提到的片段是這樣的:
function mouseWithin(bounds,x,y) {
var offset = bounds.offset();
var l = offset.left;
var t = offset.top;
var h = bounds.height();
var w = bounds.width();
var maxx = l + w;
var maxy = t + h;
return (y <= maxy && y >= t) && (x <= maxx && x >= l);
};
,你可以使用它像這樣:
var gallery=$("#carousel-gallery");
mouseWithin(gallery,event.pageX,event.pageY);
這就是我正在做的,但我想知道是否有一個更好/更簡單的方法來做到這一點 – locrizak 2011-04-20 18:55:00
通常使用事件是安全的,但因爲你帶一個重疊的項目,答案是:可能不是。 :( – 2011-04-20 18:57:34
也許劫持這個答案的一些代碼:http://stackoverflow.com/questions/5598953/find-elements-that-are-stacked-under-visually-an-element-in-jquery/5599301#5599301這可能是有價值的。 – 2011-04-20 18:59:13