我正在尝试使用支持点击和双击的元素。但是以下示例适用于IE,但在FireFox 3.5.6中不起作用:
<button onclick="c=setTimeout('alert(1);',1000);" ondblclick="clearTimeout(c);alert(2);">Test</button>
它只是不清除超时,因此警告(1)被触发。 有谁知道这是什么问题? 如何在FireFox中单独点击和双击事件?
答案 0 :(得分:3)
在Firefox中双击时,您将获得两个单击事件,然后是一个dblclick事件。所以你要设置两个定时器并清除一个定时器。清除点击事件上的计时器应该有效:
<button onclick="clearTimeout(c);c=setTimeout('alert(1);',1000);" ondblclick="clearTimeout(c);alert(2);">Test</button>
答案 1 :(得分:0)
你真的不应该在HTML中内嵌你的javascript。我建议使用像jQuery这样的JavaScript库。 jQuery将解决您正在使用的跨浏览器事件问题!
$(document).ready(function() {
var c;
$("button").click(function() {
c = setTimeout(function() {
alert(1);
}, 1000);
}).dblclick(function() {
clearTimeout(c);
alert(2);
});
});
答案 2 :(得分:0)
我不明白。它仍然无法正常工作。我的意思是,如果你在onclick事件中放入一个clerTimeout,onclick事件将无法工作,因为你在完成之前就停止了它:S 其实我看不出你怎么说“这解决了问题”?只是尝试复制你编写的代码,你会发现没有任何事情发生......:/