要加event listener時,可用bind或live來綁event
究竟兩者差在哪邊
bind如下以綁drag事件
$(function(){
$('.floatBox').bind('drag',function( event ){
$( this ).css({
top: event.offsetY,
left: event.offsetX
});
//var pageCoords = "( " + e.pageX + ", " + e.pageY + " )";
//var clientCoords = "( " + e.clientX + ", " + e.clientY + " )";
});
});
將event在onload時,加入listener
可是當之後要動態加入時,後續加入的floatBox就不會有反應
因此得再bind的新的floatBox
這時就可以改用live,程式碼如下(只是把bind改用live)
jQuery就會聰明的自己bind事件,真的是太神奇了
$(function(){
$('.floatBox').live('drag',function( event ){
$( this ).css({
top: event.offsetY,
left: event.offsetX
});
});
});
沒有留言:
張貼留言