jquery获取光标所在的元素

时间:2013-01-22 17:18:20

标签: jquery jquery-plugins

我正在使用javascript和jquery为我的网站构建一个splittesting工具。现在我想显示每个元素,当光标经过我的预览框中的元素时,我想分割一些小的hovermenu。有没有可能做这样的事情?我喜欢这样的事情

$('body').hover(function(event){
    console.log(event.target.nodeName);
    // to see if it's showing up the element   
});

但它只触发一次。因为我不想使用点击,因为我也想在锚元素上显示菜单我有点迷失

5 个答案:

答案 0 :(得分:11)

我相信你想在这里使用mousemove事件而不是hover事件。

$('body').mousemove(function(evt){
    console.log(evt.target);
});

请记住谨慎使用mousemove

See an example here.

答案 1 :(得分:10)

您可以使用document.elementFromPoint

var element = document.elementFromPoint(x, y);

例如:

$('body').hover(function(event){
    var el = document.elementFromPoint(event.pageX, event.pageY);
});

文档:https://developer.mozilla.org/en-US/docs/DOM/document.elementFromPoint

答案 2 :(得分:9)

如果您使用的是键盘而不是鼠标: 不是jQuery,只是那些感兴趣的人的简单JavaScript:

#include <stdio.h>

int main()
{
  unsigned short int x = 65535; // The unsigned short int is at the maximum possible range
  x += 1; // If I add one to it will overflow.
  printf("%u", x); // the output will be zero or one if decide to add plus one again to x
  return 0;
}

答案 3 :(得分:0)

尝试以下编码,它会帮助你...

    <body onMouseMove="javaScript:mouseEventHandler(event);">

    <script>
    function mouseEventHandler(mEvent) {
// Internet Explorer
                alert(mEvent.srcElement.nodeName); //Display Node Name
                alert(mEvent.srcElement.id); //Display Element ID
//FireFox
                alert(mEvent.target.nodeName);//Display Node Name
                alert(mEvent.target.id);//Display Element ID
            }
    </script>

答案 4 :(得分:-1)

有三种方法可以做到:

  1. 类似的东西:

    $('body').on('mousemove', function() {
     console.log($(':hover').last().attr('name'));
    });
    
  2. 出于调试目的,您可以在Chrome控制台$(':hover').last()中输入类型 将鼠标悬停在所需位置,然后按Enter键运行此控制台命令。

  3. 如果要继续使用它,我建议不要使用mousemove事件。使用类似的东西

    $('.one_of_your_trigger_element').on('mouseenter', function() {
     var hover_element = $(':hover').last();
     ...
    });