2012-03-29 15 views
1

Was ist der entsprechende Name für onmove in Abfrage. Hier ist was onmove in gerade Javascript tut.onmove Ereignis entspricht in jquery

IE Unterstützung nur:

Tritt auf, wenn die Position eines oberen linken Ecke des Elements geändert wird.

Gibt es ein Ereignis in jquery, das dies tut.

+1

Was löst die Positionsänderung des Elements aus? Verknüpfen Sie einfach eine Funktion mit einem Kommentar und sagen Sie, was sie tut. –

+0

Wenn das Element nach einem Ziehereignis verschoben wird, können Sie die Ereignisse "stop", "start" oder "drag" von JQuery-UI Draggable verwenden, wenn es von einem anderen bewegt wird, auch wenn Sie das Ende dieses Ereignisses verwenden können über die Bewegung benachrichtigt werden. – giocarmine

Antwort

0

Nicht möglich mit nativem Ereignis-Listener. Sie können die Funktion jedoch in die Funktion einfügen, mit der das Element verschoben wird, um es zu erreichen.

Zum Beispiel:

<div id="box"></div> 
<script> 
    function blah(){ 
     //onmove things... 
    } 

    function movebox(e){ 
     blah(e); //link to the function 
    } 
</script> 
0

Die Position eines Elements relativ zu dem Dokument können aufgrund einer Reihe von Gründen ändern - auch Grenzfälle wie ein HTML5-Video eine kleinere Vorschaubild zeigt nach dem Ansehen, das ist Nicht abgedeckt durch Klick, Key-Up, Reload und andere Ereignisse.

Da jQuery nicht über eine integrierte Unterstützung für onmove, die beste Wette, die Sie tun können, holt viele Ereignisse, die Ihr Element bewegen konnte und dann filtern, ob Ihr Element wirklich Bewegung hat, die kann durchgeführt werden, indem der aktuelle Wert jQuery.fn.offset() mit dem Wert verglichen wird, den er beim letzten Auftreten des Ereignisses hatte.

Die beiden wichtigsten Ereignisse, die Ihr Element (Seite Erzeugung und Anpassung der Fenstergröße) bewegen kann durch diese Lösung abgedeckt:

jQuery(window).on('load resize', function() { 
    /* code here... */ 
} 

Wenn Ihr DOM könnte sich ändern, können Sie diese stattdessen verwenden:

jQuery(window).on('load resize DOMSubtreeModified', function() { 
    /* code here... */ 
} 

Aber verwenden Sie das letzte vorsichtig wie beschrieben here.

becaues diese Ereignissesehr oft genannt werden, ist es für Ihre Kunden-PC wichtig, dass Sie komplizierte Aufgaben pro Veranstaltung nicht durchführen oder zumindest zu überprüfen, dass die Position des Elements wirklich Änderung tat (als oben erwähnt).