2013-07-15 37 views
0

我有一个div。如何防止使用javascript执行onmousedown和div的onmouseup?

<div id="down" 
onmousedown="mousedown('url(/scanToUserBox/img/cpt_subfunc_005_next_d.png)', this)" 
onmouseup="mouseup('url(/scanToUserBox/img/cpt_subfunc_005_next_i.png)', this)" 
onclick="changePage('down')"> 
</div> 

我想在某些情况下阻止事件的执行。我已经尝试禁用div但仍然执行事件。

+0

只需使用javascript删除属性即可。 –

回答

0

我终于找到了解决办法。它是event.returnValue = false;

0

为什么你不能使用JQuery和基于操作附加事件?你只限于JavaScript? Javascript示例:

document.getElementById('down')。addEventListener('mousemove',elementMove,false);

+0

我看不到OP在哪里说他们不能使用jQuery? –

+0

我不想删除这些事件。我只是想阻止它在某些情况下执行。 – pmark019

0

使用jQuery,并附加功能的MouseUp和MouseDown事件中,你可以根据条件执行代码:

$("#down").mouseup(function(){ 
    if(a=b) { 

    } 
}).mousedown(function(){ 
    if(b=c) { 

    } 
}); 
0

我相信,如果您有相关的东西加到你的事件处理程序通过JavaScript单纯的喜欢

var desDiv = document.getElementById('down'); 
desDiv.addEventListener('mousedown', mymousedownfn, false); 

//you could have removed the eventlistener with 
desDiv.removeEventListener('mousedown',mymousedownfn,false); 

由于您已经添加了eventlistener作为div的属性,我认为javascript也成为属性值的一部分,您需要将其设置为null以将其删除。喜欢的东西

var desDiv = document.getElementById('down'); 
destdiv.onmousedown = null; 

你必须弄清楚什么时候把“destdiv.onmousedown”为null,使其为你工作

相关问题