首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >需要单击两次Javascript onclick才能运行函数

需要单击两次Javascript onclick才能运行函数
EN

Stack Overflow用户
提问于 2011-06-05 21:45:25
回答 3查看 10.7K关注 0票数 1

需要单击两次Javascript onclick才能运行函数。我需要它运行在第一次点击,这是我的问题。我在谷歌上搜索了两天,没有找到一个有效的答复,也没有找到我理解的答案。

javascript的代码可以在这里找到:http://enji.se/windows8/js/script.js

和我希望它工作的网站:http://enji.se/windows8/

这是一个Windows 8的网站,我想要做。它只能在Google Chrome和高于1265x820的分辨率上正确显示,而且在分辨率高于1590x920的分辨率上也会很棒。

预先感谢/恩吉

解决了

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-05 21:54:05

问题是在单击处理程序boxBegin中--在第一次单击时,单击事件被正确地接收并传递给您的方法,但在boxBegin中,您正在切换box.style.display值上的行为--在IE9中,这最初是"",这将触发您的关闭代码,而不是您想要的打开的代码。

将boxBegin更改为:

代码语言:javascript
运行
复制
function boxBegin() {
    var box = document.getElementById('boxBegin');
    if (!box.style.display || box.style.display == "none") {
        box.style.display = "block";
    }
    else {
        box.style.display = "none";
    }
}
票数 8
EN

Stack Overflow用户

发布于 2012-04-17 21:39:10

当我遇到同样的问题时,我在谷歌上搜索了这个。

我正在检查window.location.hash是否是某个值,然后相应地设置菜单选项卡的样式。

对我来说,解决方案就像运行一个10毫秒的延迟函数一样简单,然后运行我的主要函数。

对我来说,问题来自一个脚本,它在精确的上检查更改,而不是在更改之前,不是在之后,而是在同一时间。这让我不得不双击它才能再次改变,并且函数需要第二次注意到这个变化。

请记住,即使是5毫秒的延迟脚本,当事情似乎没有注册更改时,运行也会更容易。这帮了我一次又一次

票数 1
EN

Stack Overflow用户

发布于 2011-06-05 21:48:29

据我所知,onclick注册单次点击?

如果onclick需要双击,则可能是浏览器特定的问题。

也来自MDC文档

当用户单击元素时引发单击事件。单击事件将在mousedown和mouseup事件之后发生。

还有:简单测试用例@ JS Fiddle

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6246065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档