2016-06-08 12 views
0

Wenn ein Benutzer standardmäßig mit dem Mausrad die Seite herunterscrollt, werden keine Hover-Ereignisse ausgelöst. Gibt es eine Möglichkeit, dies zu ändern, so dass, solange der Mauszeiger über einem div steht, das Hover-Ereignis ausgelöst wird, egal ob der Benutzer die Maus benutzt oder das Mausrad, um es dorthin zu bewegen?Gibt es eine Möglichkeit, ein Mausrad das "Hover" -Ereignis in Javascript auszulösen?

$(window).load(function() { 
 
    $(document).bind('mousewheel', function(e) { 
 
    console.log(e.pageX); 
 
    console.log(e.pageY); 
 
    var e1 = $.Event('mouseenter'); 
 
    e1.pageX = e.pageX + 1; 
 
    e1.pageY = e.pageY; 
 
    $('img').trigger(e1); 
 

 
    var e2 = $.Event('mousemove'); 
 
    e2.pageX = e.pageX + 1; 
 
    e2.pageY = e.pageY; 
 
    $('img').trigger(e2); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Edit: Der obige Code ein Hover-Ereignis auslöst, aber es wird kein Bild insbesondere die Auswahl, es schweben Ereignisse gerade ist Triggern auf jeder Mausbewegung.

+0

Haben Sie ein 'mousemove' Ereignis versuchen Auslösen, nachdem das Scrollen zum Stillstand gekommen ist? – Mottie

+0

Ich bin mir nicht sicher, was Sie meinen, indem Sie ein Mousemove-Ereignis auslösen. Ist es überhaupt möglich, eine Maus mit Javascript zu bewegen? – user1023465

+0

Ja, es ist möglich _simulate_ ein mousemove-Ereignis. –

Antwort

1

Dies könnte funktionieren:

var x = 0, y = 0; 

$(document).bind('mousemove', function(event) {x = event.clientX; y = event.clientY;}); 

$(document).bind('mousewheel', function(e1) { 
    var rand = Math.floor(Math.random*2) ? 1 : -1; 
    X = x+rand; 
    Y = y; 
    setTimeout(function() {$("body").trigger($.Event("mousemove", {clientX: X, clientY: Y}));}, 400); 
}); 
+0

Mein Code ist sehr ähnlich zu Ihrem, aber ich möchte ein Hover-Ereignis über Bilder auslösen, und $ ('img') verwenden. Trigger wählt kein Bild speziell ... – user1023465

+0

Das Auslösen des movemouse Ereignisses auf Körper sollte aktivieren Das css-Hover-Ereignis auf dem Element, über dem sich die Maus gerade befindet. –

+0

Ich habe es versucht, leider löst es nichts aus. – user1023465