我正在使用javascript和jquery为我的网站构建一个splittesting工具。现在我想显示每个元素,当光标经过我的预览框中的元素时,我想分割一些小的hovermenu。有没有可能做这样的事情?我喜欢这样的事情
$('body').hover(function(event){
console.log(event.target.nodeName);
// to see if it's showing up the element
});
但它只触发一次。因为我不想使用点击,因为我也想在锚元素上显示菜单我有点迷失
答案 0 :(得分:11)
我相信你想在这里使用mousemove
事件而不是hover
事件。
$('body').mousemove(function(evt){
console.log(evt.target);
});
请记住谨慎使用mousemove
。
答案 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)
有三种方法可以做到:
类似的东西:
$('body').on('mousemove', function() {
console.log($(':hover').last().attr('name'));
});
出于调试目的,您可以在Chrome控制台$(':hover').last()
中输入类型
将鼠标悬停在所需位置,然后按Enter键运行此控制台命令。
如果要继续使用它,我建议不要使用mousemove事件。使用类似的东西
$('.one_of_your_trigger_element').on('mouseenter', function() {
var hover_element = $(':hover').last();
...
});