2012-03-29 72 views
1

查詢中的onmove的等效名稱是什麼?這裏是onmove在直接javascript中所做的事情。在jquery中等效的onmove事件

IE僅支持:

當元件的左上角的位置被改變時發生。

在jquery中是否有這樣的事件。

+1

什麼觸發元素的位置變化?只需將一個函數鏈接到一個說明它做什麼的評論。 – 2012-03-29 03:14:43

+0

如果元素在拖動事件後移動,則可以使用Jquery-UI Draggable的「停止」,「開始」或「拖動」事件,如果它被任何其他人移動,即使您可以使用該事件的結束被通知有關運動。 – giocarmine 2012-11-16 09:08:12

回答

0

不可能使用本機事件偵聽器。但是,您可以將該功能放置在使元素移動來實現它的功能中。

例如:

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

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

的元件的相對於文件的位置可以變化,由於一些原因 - 包括邊緣情況下,像一個HTML5視頻表示看後一個較小的預覽圖片,這是聽不到點擊,鍵入,重新加載和任何其他事件。

因爲jQuery的沒有一個內置的onmove,你能做的最好的辦法支持,正趕上許多事件可能移動你的元素,然後進行篩選,你的元素是否確實真的移動,可通過比較當前的jQuery.fn.offset()值和它在上一次事件外觀上的值來完成。

的可以運動的元素(頁面生成和調整窗口大小)兩個最重要的事件是由該解決方案涵蓋:

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

如果你的DOM可能會改變,你可以使用它代替:

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

但使用最後一個小心,如描述here

Becaues這些事件被稱爲經常,它是你的客戶PC重要的是,你不執行每個事件的任何複雜的任務,或者至少檢查,你的元素的位置確實真的變化(如上文提到的)。