Bindung an das Scrollrad wenn über ein Div
Ich bin momentan dabei, ein Bild-editor im browser und ich habe den code für alle meine Kontrollen durchgeführt. Jetzt würde ich gerne anzeigen hot keys und Maus-Tasten. Die Tastatur ist einfach, aber die Maus nicht.
Brauche ich, um zu erkennen, wenn die Maus über dem canvas-Bereich div und wenn das Mausrad bewegt wird. Mit der Maus über ein Teil ist nicht schwer, seine Bindung an die Maus-Rad, das ich Probleme habe mit.
Versuchte ich jQuery.scroll
aber, dass nur die Nähte zu arbeiten, wenn die div
unter das Rad gesetzt, um zu Blättern selbst. Meine canvas
ist nicht. Es ist offset-gesteuert wird über meine Skripte.
Dinge zu beachten:
- Ich verwende jQuery als meine Basis.
- Ich bin nicht acually scrollen nichts, ich bin versucht zu binden, und das Ereignis scroll-Rad, ohne tatsächlich zu scrollen.
Struktur
<div id="pageWrap">
[page head stuff...]
<div id="canvas">
[the guts of the canvas go here; lots of various stuff...]
<div>
[page body and footer stuff...]
</div>
InformationsquelleAutor der Frage Robert Hurst | 2010-09-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wichtiges Update 01/2015 - mousewheel-event deprecated:
In der Zwischenzeit die
Mausrad
Veranstaltung ist veraltet und wird ersetzt durchRad
.MDN Docs für Mausrad sagen:
Jetzt sollten Sie etwas verwenden wie:
P. S.
Für die Kommentar von Connell Watkins - "erklären Sie die division durch 120?",
es gibt einige details, die auf MSDN:
Ließ ich die
delta /120
Teil meiner Methode, da es keine Vorteile IMO. Das scrollen nach oben istdelta > 0
und untendelta < 0
. Einfach.InformationsquelleAutor der Antwort Markus Hofmann
Eine sehr einfache Implementierung würde so Aussehen:
http://www.jsfiddle.net/5t2MN/5/
InformationsquelleAutor der Antwort jAndy
Haben Sie versucht, das mousewheel plugin?
http://www.ogonek.net/mousewheel/jquery-demo.html
InformationsquelleAutor der Antwort mamoo
Ein einfaches Beispiel für bind-Mausrad mit jquery....
InformationsquelleAutor der Antwort Chandra Nakka