如何使用javascript阻止执行div的onmousedown和onmouseup?

时间:2013-07-15 07:26:39

标签: javascript jsp html mouseevent

我有一个div。

<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但仍然执行事件。

4 个答案:

答案 0 :(得分:0)

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

document.getElementById(&#39; down&#39;)。addEventListener(&#39; mousemove&#39;,elementMove,false);

答案 1 :(得分:0)

使用JQuery,并将函数附加到mouseup和mousedown事件,您可以根据条件执行代码:

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

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

  }
});

答案 2 :(得分: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; 

您必须弄清楚何时设置&#39; destdiv.onmousedown&#39;为null使它适合你

答案 3 :(得分:0)

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