2011-09-20 74 views
2

我使用jQuery綁定點擊鼠標移動事件的div座標:解除綁定事件座標

$("#main").live("mousemove click", function(event) { 
var x = event.pageX - this.offsetLeft; 
var y = event.pageY - this.offsetTop; 
    if (event.type == "mousemove") { 
     if ((x >= 607 && x <= 720) && (y >= 345 && y <= 390)) { 

      //cursor:pointer 
     } 
    } else //do something on click 

我想要做的是清除此綁定事件後,我阿賈克斯負載新的內容,我的主要分區。

謝謝!

+0

考慮使用jQuery.delegate()和jQuery.undelegate()代替。 jquery.delegate()是live()的替代方法,jQuery.undelegate將取消綁定委託事件。 –

+0

你的意思是你想解除綁定事件,或者將x和y置零?這是不是很清楚你要求什麼。 – Twoquestions

回答

1

如果你需要解除與live()相連的方法,你必須使用die();

$("#main").die() 

從文檔

已附接有.live(任何處理程序)被可與 .die被移除()。此方法類似於調用.unbind()而沒有 參數,該參數用於刪除使用.bind()附加的所有處理程序。 有關更多詳細信息,請參閱.live()和.unbind()的討論。

0

從jQuery文檔:

要解除綁定所有使用 .live 界點擊處理程序(),使用.die()方法:

$(".clickme").die("click"); 

來源:

http://api.jquery.com/live/

0

活元素被貼在身上,你可以使用

$(document).unbind('mousemove click'); 

解除綁定他們太