2012-02-18 84 views
2

有两个事件:与jQuery的身体mouseup事件后停止传播?

$('body').mouseup(function(e){} 

$('.toggle').click(function(e){} 

我只想要其中的一个触发。我试过

e.stopPropagation(); e.preventDefault(); return false; 

但这似乎并没有阻止它。有任何想法吗?首先触发mouseup。

谢谢。

+0

为什么你'$( '身体')鼠标按下(功能(E){}''?e.stopPropagation();'停止冒泡事件和'e.preventDefault();'。阻止提交表单或点击链接等元素的默认行为您要停止什么? – elclanrs 2012-02-18 00:18:05

+0

我需要关闭从页面侧面滑出的抽屉,当用户单击 – Wesley 2012-02-18 00:18:36

+0

你在哪里尝试过'e.stopPropagation();'? – 2012-02-18 00:19:16

回答

4

问题是他们是两个不同的事件。如果你想阻止body.onmouseup,你需要在.toggle上添加一些东西来捕捉/停止mouseup事件;像

$('.toggle').mouseup(function(e){ 
    e.stopPropagation(); 
    e.preventDefault(); 
    // these two are older ways I like to add to maximize browser compat 
    e.returnValue = false; 
    e.cancelBubble = true; 
    return false; 
}