Javascript jqueryui对话框无法在firefox 11中“选择()”输入

Javascript jqueryui对话框无法在firefox 11中“选择()”输入,javascript,jquery,jquery-ui,firefox,Javascript,Jquery,Jquery Ui,Firefox,我在Windows7上的Firefox11中运行此代码。看 ​ 输入中的值没有被选中,这在Chrome和IE中是可以做到的,如果我手动调用select方法,它也不起作用 这是一个已知的问题吗?有没有办法选择它?但是,如果我在JSFIDLE加载后单击run on JSFIDLE,它将不再工作。这看起来像是调用focus,jquery ui默认情况下会调用Chrome上的第一个tabbable元素无法测试IE-在OS X上聚焦框并选择框中的文本 摘自: 另一方面,Firefox似乎只在调用focus

我在Windows7上的Firefox11中运行此代码。看

​ 输入中的值没有被选中,这在Chrome和IE中是可以做到的,如果我手动调用select方法,它也不起作用

这是一个已知的问题吗?有没有办法选择它?但是,如果我在JSFIDLE加载后单击run on JSFIDLE,它将不再工作。

这看起来像是调用focus,jquery ui默认情况下会调用Chrome上的第一个tabbable元素无法测试IE-在OS X上聚焦框并选择框中的文本

摘自:

另一方面,Firefox似乎只在调用focus时将光标放在框内。因此,您必须在创建对话框后隐式地调用call select,以实现您希望执行的操作

如果重新加载计时器而不是单击run,您会注意到该示例每次都有效。我认为jsFiddle实际上是罪魁祸首,可能是hashchange事件,或者在按下“run”键后某个窗格上的某个焦点事件——我还没有深入挖掘

编辑:抱歉,时间不早了,看起来问题的根本原因是Firefox。不确定这是否是设计行为,但从我所看到的来看,Firefox似乎不允许在同一页面的不同内容窗格中同时在两个不同的输入元素中选择文本。这似乎不会影响Chrome和IE9

我在本地做了一个快速的例子,它有两个并排的iframe,我们称它们为left和right。左侧包含一个文本区域,右侧包含jQueryUI对话框-类似于您发布的小提琴。right具有以下代码:

<script type="text/javascript">
$('<div><input type="text" value="val" /></div>').dialog();
$('input').select();
</script>
<script type="text/javascript">
setTimeout( function() {
    $('textarea').focus();
}, 1000);
</script>
左图有以下代码:

<script type="text/javascript">
$('<div><input type="text" value="val" /></div>').dialog();
$('input').select();
</script>
<script type="text/javascript">
setTimeout( function() {
    $('textarea').focus();
}, 1000);
</script>
如果你把它们拼凑在一起,在Firefox中查看结果,你会注意到输入被聚焦并被选中,直到左边的文本区域被聚焦。我怀疑JSFIDLE中正在发生类似的事情。

尝试使用ui对话框的open event。 此事件在对话框打开时触发

$('<div><input id="yourInput" type="text" value="val" /></div>').dialog({
    open:function(){
     $("#yourInput").focus().select();
    }
        }
)

这是dom中的FF问题,用于确定是否已设置DOCTYPE。没有一个很好的方法来解决这个问题,一个计时器来集中注意力往往是黑客们所做的。然而,还有另一个步骤,如果您的Doctype设置为w3xhtml标准,那么您可以使用它在焦点上选择它。Add onfocus=this.select;作为输入的属性,因此当它被聚焦时,它会立即被选中。

我还没有机会进一步研究这个问题。我想说这可能是Firefox中的一个bug。你有没有发现关于它的其他东西,或者最终找到了一个解决方案?没有什么确定的,只是一堆理论。我将就此认输,并与不同浏览器将获得不同用户体验的事实达成和解