2011-09-20 54 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'); 

解除绑定他们太