2012-06-28 54 views
2

我想用javascript來檢測鼠標光標下是否存在一個元素,這意味着例如我想檢查我是否在「img」上,或者我是否在「 p「元素。在光標下檢查元素的存在

我不想添加懸停方法,應用程序會拖放元素,而拖動時,我想拒絕將該元素放在另一個元素存在的區域中。

是否有可能使用javascript/jQueryhtml?什麼是正確的做法呢?

回答

1

你可以嘗試一下:你問

window.onmousemove = function(e){ 
    var e = e || event; 
    var all = document.all; 
    for(var i=0;i<all.length;i++) 
     if(e.x>=all[i].offsetLeft && e.x<=(all[i].offsetLeft+all[i].offsetWidth) && e.y>=all[i].offsetTop && e.y<=(all[i].offsetTop+all[i].offsetHeight)){ 
      //Do something 
      break; 
     } 
} 
+0

極大的支持,所以你的意思是,我檢查寬度和元素的高度和位置,我在現在,看看我是ANI它的X或YS? – engma

+0

不,鼠標的位置必須在元素的界限之間。這些限制是由位置x到位置x +寬度定義的,例如 –

+0

非常感謝您的幫助。 :),非常整潔,並被推薦的答案。 – engma

0

一切都可以在jQueryUI的拖動和投擲的交互方法的選項進行設置。如果當前的可拖動系統未設置爲簡單的用戶選項編碼,請查看這些。

有些事情像你提到的「over」一樣。您可以將droppables設置爲僅使用簡單的jQuery選擇器或回調接受某些元素。該API是穩健和有它

http://jqueryui.com/demos/draggable/