0

我有一个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

4 回答 4

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 以使其适合您

于 2013-07-15T20:34:56.537 回答
0

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

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

于 2013-07-15T07:45:45.107 回答
0

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

于 2013-07-16T00:59:24.583 回答
0

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

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

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

  }
});
于 2013-07-15T10:43:00.080 回答