【问题标题】:OnFocus for Google Chrome BrowserGoogle Chrome 浏览器的 OnFocus
【发布时间】:2012-03-09 00:58:29
【问题描述】:

请访问此页面: http://hyindia.com/demo/agenda/index.html

在顶部菜单上,您可以看到按钮/链接,它们具有悬停和焦点/单击效果(CSS),但焦点/单击效果仅适用于 Mozilla Firefox 浏览器,我希望它适用于 Google Chrome、Opera还有 Safari 浏览器。

【问题讨论】:

    标签: html css


    【解决方案1】:

    我会尝试使用 onclick() 事件而不是 onfocus()。

    我隐约记得 Chrome 中出现了这个问题,不是最近,但仍然是同一个问题。我将尝试找到有关详细信息的链接,但与此同时,请尝试使用 onclick() 事件,看看是否能解决您的问题。

    编辑:我注意到在 Chrome 中你可以看到 onfocus() 在元素中切换时工作......

    我确实找到了一些示例/链接,您可以查看一下以提供帮助。

    http://www.google.com/support/forum/p/Chrome/thread?tid=62fbd469dcbe910c&hl=en

    • 讨论 Chrome 过去与 onFocus() 存在的问题。也是我之前建议的使用 onclick() 代替 onFocus() 的解决方案

    problem with Chrome form handling: input onfocus="this.select()"

    • 此处的过去问题还解释了如何将操作绑定到 onClick() 以允许 onFocus() 在 Chrome 中成功工作。

    我解决这个问题的方法是创建一个包装函数,该函数使用 setTimeout() 来>延迟对 select() 的实际调用。然后我只是在>文本框的焦点事件中调用该函数。使用 setTimeout 会延迟执行,直到调用堆栈再次为空,>这将是当浏览器完成处理所有在您单击时发生的事件(mousedown、mouseup、click、focus 等)。这有点小技巧,但它确实有效。

    function selectTextboxContent(textbox)
    {
    setTimeout(function() { textbox.select(); }, 10);
    }
    

    然后你可以做这样的事情来做焦点选择:

    <input onfocus="selectTextboxContent(this);" type="text" value="Search">
    

    【讨论】:

      【解决方案2】:

      尝试在您的链接中添加一个 tabindex ;) 我做了一些测试,它成功了。更多信息:http://nemisj.com/focusable/

      由 Kirk Woll 在this thread 中建议

      再见':)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-26
        • 2023-03-20
        相关资源
        最近更新 更多