mousedown和click,dblclick,ondrag等事件同时处于一个控件时的问题。。。求解中...
function dbclick() {
window.status += event.type+"<=dbclick ";
}
function cldown() {
window.status += event.type+"<=cldown ";
}
</script>
</head>
<!-- onclick="cldown()"-->
<body>
<table
onMouseDown="functionA();cldown()"
onclick="functionB();cldown()"
ondblclick="functionB();cldown()"
width="33%" height="124" border="0" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" bgcolor="#CCCCCC">
<tr>
<td> </td>
</tr>
</table>
现在问题:
因为functionB中需要执行的操作和functionA()中执行的操作有关,也就是说,需要真正判断出用户的真正发生的事件是onclick还是ondrag或dblclick,而不是按真正的执行顺序onmousedown->mouseup->click的顺序。
要达到的效果:如果用户真正做的是拖动,则不执行functionA中的操作,因为如果误认为是当初的mousedown被执行了,则会影响functionB对控件属性的读取(类似click和dblclick等事件,它总是先触发mousedown)....
相关推荐
js不完美解决click和dblclick事件冲突问题
当某个元素,如:div,同时绑定了click事件和dblclick事件,而这两个事件又要处理相对独立的业务,也就是click的时候不能触发dblclick,dblclick的时候不能触发click
frp-mousedown-click-dblclick:用于合并 mousedown、click 和 dblclick 事件的 FRP 蓝图
frp-mousedown-click-dblclick 用于合并 mousedown、click 和 dblclick 事件的 FRP 蓝图
ClickWrapper:将 mousedown、click 和 dblclick 事件包装在元素周围以提供互斥事件
点击包装 将 mousedown、click 和 dblclick 事件包装在元素周围以提供互斥事件。 用法 var wrapper = new ClickWrapper(document.body, { delay: 250 }); wrapper.on('click', function (event) { // event is a generic MouseEvent }); wrapper.on('mousedown', function (event) { // event is a generic MouseEvent }); wrapper.on('dblclick', function (event) { // event is a generic MouseEvent }); 选项 延迟- 以毫秒为单位,必须对要触发的事件做出决定的截止时间。 默认为 250。
javascript 鼠标事件总结
常见的有以下8个: mousedown:鼠标的键钮被按下。 mouseup:鼠标的键钮被释放弹起。 click:单击鼠标的键钮。 dblclick:鼠标的键钮被按下。 contextmenu :弹出右键菜单。 mouseover:鼠标移到目标的上方。 mouseout:鼠标移出目标的上方。 mousemove:鼠标在目标的上方移动。 mousedown事件与mouseup事件可以说click事件在时间上的细分,顺序是mousedown => mouseup => click。因此一个点击事件,通常会激发几个鼠标事件。 请在这里点击,测试一个点击到底捆绑了多少种鼠标事件?! 清空 [C
JavaScript常见鼠标事件与用法分析
本文实例讲述了JavaScript常见鼠标事件与用法。分享给大家供大家参考,具体如下: JavaScript 鼠标事件有以下8种 mousedown 鼠标的键钮被按下。 mouseup 鼠标的键钮释放弹起。 click 鼠标左键(或中键)被单击。 事件触发顺序是:mousedown -> mouseup -> click dblclick 鼠标左键(或中键)被双击。 事件触发顺序是:mousedown -> mouseup -> click -> mousedown -> mouseup -> click -> dblclick。 contextmenu 弹出右键菜单,它可能是鼠标右键触发的,



