2012-03-29 75 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重要的是,你不执行每个事件的任何复杂的任务,或者至少检查,你的元素的位置确实真的变化(如上文提到的)。