如何检查鼠标是否在元素上? (jQuery的)

时间:2014-07-29 09:19:05

标签: javascript jquery html

如何检查鼠标是否在元素上?

我将元素移动到光标位置,我需要检查鼠标是否在另一个元素上。怎么做?

<div class="dragged"></div> // I can move it
<div class="dropped"></div> // Need to drop here
$('.dragged').mousemove(function(e) {
   ...
   if($(".dropped").is(":hover")) { // of course doesn't work
        ...
   }
});

提前致谢。

5 个答案:

答案 0 :(得分:8)

您可以尝试这样:

$('#test').click(function() {
    if ($('#Test').is(':hover')) {
        alert('Test');
    }
});

<强> JS FIDDLE DEMO

答案 1 :(得分:3)

一种有效的方法是在鼠标输入时“标记”.dropped标记元素。 最后,当你移动.dragged时,你可以检查.dropped是否有你放入的标签。

$('.dropped').hover(function() { 
  $(this).addClass('hovered');
}, function() {
  $(this).removeClass('hovered');
});

$('.dragged').mousemove(function(e) {
  ...
  if($(".dropped").hasClass(".hovered")) {
    ...
 }
});

问候。

答案 2 :(得分:2)

试试这个:

  var hovred=null;
    $('.dropped').mouseenter(function(e) {
      hovred=$(this);
     });

$('.dropped').mouseleave(function(e) {
  hovred=null;
 });
$('.dropped').mousemove(function(e) {
   ...
   if($(this)==hovred && hovred != null) { 
    //do your stuff here man
   }
});

答案 3 :(得分:0)

做这样的事情。

 var $container = $('.container');
 $container.mouseenter(function(e) {
  //do something
 });

答案 4 :(得分:0)

<script type="text/javascript">
function call_mouseover()
{ 
  alert("mouse is over on the div");
}
function call_mouseout()
{
 alert("mouse out from the div");

}
</script>


<div class="dragged" onmouseover="call_mouseover();" onmouseout="call_mouseout();"></div>
<div class="dropped" ></div> // Need to drop here