Buduję narzędzie do dzielenia wyników dla mojej witryny za pomocą javascript i jquery. Teraz chcę pokazać dla każdego elementu, który chcę podzielić małe hovermenu, gdy kursor przechodzi nad elementem w moim oknie podglądu. Czy jest jakaś możliwość zrobienia czegoś takiego? Naprawiłem coś takiego, ale tylko raz uruchamia się tylko jeden raz. Ponieważ nie chcę używać kliknięcia, ponieważ chcę również pokazać menu elementów zakotwiczających, jestem trochę zagubiony.jquery get element, w którym kursor jest
11
A
Odpowiedz
7
wierzę chcesz użyć zdarzenia mousemove
tutaj zamiast razie hover
.
$('body').mousemove(function(evt){
console.log(evt.target);
});
Pamiętaj tylko, aby używać mousemove
z najwyższą ostrożnością.
7
Możesz użyć do tego celu document.elementFromPoint
.
var element = document.elementFromPoint(x, y);
Dla ex:
$('body').hover(function(event){
var el = document.elementFromPoint(event.pageX, event.pageY);
});
Docs: https://developer.mozilla.org/en-US/docs/DOM/document.elementFromPoint
0
Spróbuj poniżej kodowanie to pomoże ...
<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>
7
Jeśli używasz klawiatury, a nie myszy: Nie jQuery, po prostu JavaScript dla tych, którzy są zainteresowani :
getSelection().getRangeAt(0).commonAncestorContainer.parentNode
-1
Istnieją 3 sposoby, aby to zrobić:
Coś takiego:
$('body').on('mousemove', function() { console.log($(':hover').last().attr('name')); });
Do debugowania cel można jush typu w chromowaną konsolę
$(':hover').last()
niż najedź myszką gdzie chcesz i naciśnij Enter, aby uruchomić to polecenie konsoli.Jeśli chcesz go używać w całości, nie zalecamy używania zdarzenia mousemove. Użyj coś takiego
$('.one_of_your_trigger_element').on('mouseenter', function() { var hover_element = $(':hover').last(); ... });
Powiązane problemy
- 1. wartość Get elementu, na którym zdarzenie opalane
- 2. fokus() element wejściowy z jQuery, ale kursor nie pojawia się
- 3. Tworzenie formularza tablicowego, w którym każdy element jest typem "wybierz"
- 4. jquery: usunąć kursor wskaźnika?
- 5. Pobierz przedmiot/obiekt, w którym element został upuszczony.
- 6. Czy w jquery jest funkcja "element gotowy"?
- 7. kursor: wskaźnik na hover element canvas html5
- 8. jquery get children według atrybutu
- 9. Swift: Get element z krotki
- 10. jQuery - Pobierz element z tablicy jako element jQuery?
- 11. Rethinkdb - Get pierwszy element tablicy
- 12. jQuery: eq() vs get()
- 13. HTML5 lub JQuery Pełnoekranowy kursor krzyża
- 14. Jak znaleźć element UserPrincipal, w którym właściwość nie jest ustawiona przy użyciu polecenia PrincipalSearcher?
- 15. Znajdź element, w którym elementy potomne h2 mają określoną wartość
- 16. Jquery: jeśli element jest ukryty, wykonaj czynność?
- 17. Firefox widzi element, w którym PhantomJS nie używa Selenium-Webdriver
- 18. get jquery `$ (this)` id
- 19. Jaka jest różnica między get() i eq() w jquery?
- 20. Wskaż i kliknij lub na ogół ustaw kursor w miejscu, w którym się znajdujesz Vim
- 21. Android: Kursor Okno jest pełna
- 22. Jak ukryć kursor myszy za pomocą jquery
- 23. LINQ- Max w którym warunek
- 24. Get pierwszy element listy z kwerendy LINQ
- 25. jQuery $ .get wywołanie metody w kontrolerze
- 26. Debugowanie, w którym zwracana jest metoda Brak
- 27. Three.js: Uzyskaj kierunek, w którym jest kamera
- 28. Get HTML fragment bez tekstu przez jQuery
- 29. jQuery ajax() vs get()/post()
- 30. odczytaj zmienne GET w adresie URL JQuery
Pozwoli to zachować również wyzwalanie raz. I dlaczego ktoś chciałby użyć 'document.elementFromPoint', skoro można uzyskać ten element za darmo z' event'? – Alexander
@Alexander - W tym konkretnym przypadku tak. Ale do oryginalnego pytania OP "jquery dostać element, gdzie kursor jest" - "document.elementFromPoint" jest drogą do zrobienia. – techfoobar