Mam następującą procedurę obsługi zdarzeń dla mojego elementu HTML
jQuery("#seek-bar").click(function(e){
var x = e.pageX - e.target.offsetLeft;
alert(x);
});
Muszę znaleźć pozycję myszy na pasku wyszukiwania # w momencie kliknięcia. Myślałem, że powyższy kod powinien działać, ale daje niepoprawny wynik
Odpowiedzi:
Czy próbujesz uzyskać pozycję wskaźnika myszy
relative
do elementu (lub) po prostu lokalizację wskaźnika myszyWypróbuj to demo: http://jsfiddle.net/AMsK9/
Edytować :
1)
event.pageX
,event.pageY
podaje dokument dotyczący pozycji myszy!Odniesienie : http://api.jquery.com/event.pageX/
http://api.jquery.com/event.pageY/
2)
offset()
: Daje przesunięcie pozycji elementuRef : http://api.jquery.com/offset/
3)
position()
: Podaje względną pozycję elementu, tj.rozważ element jest osadzony wewnątrz innego elementu
przykład :
Ref : http://api.jquery.com/position/
HTML
JavaScript
źródło
'#B'
:e.offsetX
ie.offsetY
. Myślę, że chciałbyś to edytować. Zaktualizowałem już skrzypce tutaj . Znalazłem to rozwiązanie dzięki poście, więc dzięki.źródło
Spróbuj tego:
Tutaj możesz znaleźć więcej informacji o DEMO
źródło
W procentach:
źródło
Jeśli MouseEvent.offsetX jest obsługiwany przez przeglądarkę (wszystkie główne przeglądarki rzeczywiście wspierać go), The jQuery obiekt Event będzie zawierać tę właściwość.
źródło
zobacz tutaj wprowadź opis linku tutaj
html
css
jquery
źródło