首页 热点资讯 义务教育 高等教育 出国留学 考研考公

火狐下同时有onmousedown ondblclick事件,双击无效

发布网友 发布时间:2022-04-23 08:59

我来回答

5个回答

热心网友 时间:2022-04-19 06:50

在IE中,当鼠标单击一下分别触发事件如下:
mousedown
mouseup
click
如果双击下一共触发如下事件:
mousedown
mouseup
click
mouseup
dblclick

但是在firefox中,单击所触发的事件和IE是一样的
但是双击时触发的事件有所不同:firefox中双击实际上触发事件如下:
mousedown
mouseup
click
mousedown
mouseup
click
dblclick
两者比较下就可以看出浏览器不同所造成的差别。然后根据差别触发相应事件所做的操作进行一定的修改。

而且鼠标拖动时触发的时候不是onmousedown而是ondragstart、ondrag和ondragend 你可以把onmousedown所执行的方法放在ondragstart执行,这样的话就不会出现onmousedown和ondblclick之间的冲突,你双击而不拖动的话就不会去触发拖动相对应的ondragstart事件

目前只有windows上的IE支持上面所说的系统拖动,mozilla在基于XUL的页面上支持系统拖动,关于楼主要说的设置事件触发的优先级,本人才疏学浅没听到过,不过如果能够准确的控制onmousedown事件的触发和ondblclick事件的触发时刻,可以在js中定义个全局的布尔变量,然后通过首先对该布尔变量的判断来决定当你想要触发ondblclick事件的时候控制onmousedown事件相对应的方法不被执行。这样的话不知道能不能解决在dblclick事件触发前mousedown事件总是先触发执行的冲突。

楼主能不能告诉双击事件要做的操作是什么?

热心网友 时间:2022-04-19 08:08

  您好!很高兴为您答疑!

  解决方法:

  思路: 在 onmousedown 用一个 setTimeout 延迟处理, 比如说在100毫秒里没有第二次点击则执行 onmousedown 否则执 ondblclick.

例子:
<a href="#" onclick="window.setTimeout('clickFun();',400)" ondblclick="dblclickFun();" >click</a>
<script>
var isDblClick=false;

function clickFun()
{
if(!isDblClick){
alert("click");
}else{
isDblClick=false;
}
}

function dblclickFun()
{
isDblClick=true;
alert("ondblclick");

}
  您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。

热心网友 时间:2022-04-19 09:43

两外可以判断浏览器的类型,不同的浏览器执行不同的javascript代码! 基本上搜索一下,有现成的!

热心网友 时间:2022-04-19 11:34

装个遨游试试 如果遨*,证明是火狐插件问题

热心网友 时间:2022-04-19 13:42

应该是可以在浏览器里直接设置优先级的吧!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com