2011-05-29 31 views
4

我想要做这样的事情:如何在div使用jQuery改变位置时进行监听?

$('#myDiv').positionChanged(function() { 
    alert('Yay!'); 
}); 

任何想法?这是否已经内置到jQuery中?

+2

“div”如何在fi中改变位置第一个地方?有没有可以使用的回调函数? – 2011-05-29 21:12:15

+0

'position'是什么意思?我们是在谈论'z-index',还是像'left'?此外,可能的愚蠢:http://stackoverflow.com/questions/1397251/event-detect-when-css-property-changed-using-jquery – Sampson 2011-05-29 21:13:19

+0

只是添加回调功能,正在改变div位置 – Ibu 2011-05-29 21:19:03

回答

3

我最终使用这个的:

function whereIChangePosition() { 
    // Code to change position 
    // ... 

    $('#myDiv').trigger('positionChanged'); 
} 

我的听众:

$('#myDiv').bind('positionChanged', function() { 
    // Do stuff 
}); 
1

不幸的是,在jQuery中没有这种类型。但这对于下一个版本来说可能是个好主意。

到目前为止,你可以做什么是添加回电自己:

可以说你有改变div的位置的功能。

function changePosition(elId,position) { 
    $(elId).css('top',position); 
    // or more complexe code 
} 

你可以给它添加一个回调函数。

function changePosition(elId,position,callback) { 
    $(elId).css('top',position); 

    callback(); 
} 

另一种方法是使用DOMAttrModified事件,但它具有非常低的浏览器支持,因为这个日期