需要单击两次Javascript onclick才能运行函数。我需要它运行在第一次点击,这是我的问题。我在谷歌上搜索了两天,没有找到一个有效的答复,也没有找到我理解的答案。
javascript的代码可以在这里找到:http://enji.se/windows8/js/script.js
和我希望它工作的网站:http://enji.se/windows8/
这是一个Windows 8的网站,我想要做。它只能在Google Chrome和高于1265x820的分辨率上正确显示,而且在分辨率高于1590x920的分辨率上也会很棒。
预先感谢/恩吉
解决了
发布于 2011-06-05 21:54:05
问题是在单击处理程序boxBegin中--在第一次单击时,单击事件被正确地接收并传递给您的方法,但在boxBegin中,您正在切换box.style.display值上的行为--在IE9中,这最初是"",这将触发您的关闭代码,而不是您想要的打开的代码。
将boxBegin更改为:
function boxBegin() {
var box = document.getElementById('boxBegin');
if (!box.style.display || box.style.display == "none") {
box.style.display = "block";
}
else {
box.style.display = "none";
}
}发布于 2012-04-17 21:39:10
当我遇到同样的问题时,我在谷歌上搜索了这个。
我正在检查window.location.hash是否是某个值,然后相应地设置菜单选项卡的样式。
对我来说,解决方案就像运行一个10毫秒的延迟函数一样简单,然后运行我的主要函数。
对我来说,问题来自一个脚本,它在精确的上检查更改,而不是在更改之前,不是在之后,而是在同一时间。这让我不得不双击它才能再次改变,并且函数需要第二次注意到这个变化。
请记住,即使是5毫秒的延迟脚本,当事情似乎没有注册更改时,运行也会更容易。这帮了我一次又一次
发布于 2011-06-05 21:48:29
据我所知,onclick注册单次点击?
如果onclick需要双击,则可能是浏览器特定的问题。
也来自MDC文档
当用户单击元素时引发单击事件。单击事件将在mousedown和mouseup事件之后发生。
还有:简单测试用例@ JS Fiddle
https://stackoverflow.com/questions/6246065
复制相似问题