【问题标题】:Form Fields not working on firefox when inside a div在 div 中时,表单字段在 Firefox 上不起作用
【发布时间】:2013-10-08 13:37:12
【问题描述】:

好吧,标题说明了一切“表单字段在 div 中无法在 firefox 上运行”基本上你不能使用该字段,你不能输入它,你不能选择它。如果我使用选择框,您将无法选择选项。

如果我将表单域移到任何 div 之外,它就可以工作。

这是我的代码

        <form action="" method="post">
            <div class="optionsbox" id="settings">
                    <div class="optionitem">Google Analytics
                        <div style="float:right;">
                            <input type="text" id="googleanalytics" name="googleanalytics" size="10"/>
                        </div>
                 </div>
             </div>
        </form>

这只发生在 Firefox 中,我尝试过的所有其他浏览器都可以正常工作。哦,我想指出没有 jquery/javascript onclick 或其他附加到此表单或 div 的函数。

有人能帮忙回答这个问题吗?它让我头疼。

你知道,我已经尝试了 7 台不同的机器,所以它不是我的浏览器,所以清除缓存或重置 firefox 将不起作用。


我发现了问题,在 .js 文件中是以下行

$("div").disableSelection();

这是在一个完全不相关的脚本中,出于某种原因,只有在 Firefox 中加载时才会影响 div,而不会影响其他内容。

感谢您迄今为止的回复。我会把这个留给遇到同样问题的其他人。

【问题讨论】:

  • 哪些 CSS 规则适用于您在标记中显示的元素?
  • 请提供现场示例/小提琴 - 在不知道您对此应用什么格式的情况下,这个问题无法回答。 (当然,您所展示的代码也可以正常工作。)
  • 是的,这没有任何意义。它对我有用。请小提琴
  • 我在页面中包含的另一个脚本中发现了问题,问题是 javascript 库中的这行代码 $("div").disableSelection();

标签: css firefox html


【解决方案1】:

问题在于旧 jQuery 的 disableSelection() 方法会进行浏览器嗅探,并在不同的浏览器中运行不同的代码。在 Firefox 中,它会阻止元素及其所有后代上的所有鼠标事件。

这就是为什么http://api.jqueryui.com/disableSelection/ 的 API 文档说不要使用它以及为什么它在最近的 jQuery 中消失了。

【讨论】:

    猜你喜欢
    • 2010-12-15
    • 2015-04-13
    • 2012-03-24
    • 2021-08-02
    • 2012-01-12
    • 2017-06-10
    • 1970-01-01
    • 1970-01-01
    • 2015-06-16
    相关资源
    最近更新 更多