Ответ 1
Я считаю, что вы хотите использовать событие mousemove
здесь вместо события hover
.
$('body').mousemove(function(evt){
console.log(evt.target);
});
Не забудьте использовать mousemove
с особой осторожностью.
Я создаю инструмент расщепления для моего сайта с javascript и jquery. Теперь я хочу показать для каждого элемента, что я хочу, чтобы splittest немного hovermenu, когда курсор проходит над элементом в моем предварительном поле. Есть ли возможность сделать что-то подобное? Я делаю что-то вроде этого
$('body').hover(function(event){
console.log(event.target.nodeName);
// to see if it showing up the element
});
но он запускается только один раз. Поскольку я не хочу использовать клик, так как я хочу также показать меню на элементах привязки, я немного потерял
Я считаю, что вы хотите использовать событие mousemove
здесь вместо события hover
.
$('body').mousemove(function(evt){
console.log(evt.target);
});
Не забудьте использовать mousemove
с особой осторожностью.
Вы можете использовать document.elementFromPoint
для этого.
var element = document.elementFromPoint(x, y);
Для ex:
$('body').hover(function(event){
var el = document.elementFromPoint(event.pageX, event.pageY);
});
Документы: https://developer.mozilla.org/en-US/docs/DOM/document.elementFromPoint
Если вы используете клавиатуру, а не мышь: Не jQuery, просто JavaScript для тех, кто заинтересован:
getSelection().getRangeAt(0).commonAncestorContainer.parentNode
Попробуйте следующее кодирование, это поможет вам...
<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>
Есть 3 способа сделать это:
Что-то вроде этого:
$('body').on('mousemove', function() {
console.log($(':hover').last().attr('name'));
});
Для цели отладки вы можете использовать jush-тип в консоли chrome $(':hover').last()
Затем наведите курсор мыши на нужную вам кнопку и нажмите Enter, чтобы запустить эту консольную команду.
Если вы хотите использовать его постоянно, я рекомендую не использовать mousemove event. Используйте что-то вроде этого
$('.one_of_your_trigger_element').on('mouseenter', function() {
var hover_element = $(':hover').last();
...
});