“-moz-user-focus”不起作用?

时间:2011-01-19 17:47:18

标签: css xul

我做了这个样本:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>

<window width="400" height="300"
 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

   <textbox id="textBox1"/>
   <textbox id="textBox2" style="-moz-user-focus: ignore;"/>
   <textbox id="textBox3"/>
</window>

而且,至少在这里,应用于第二个文本框的样式无效。我希望它能避免用户关注,正如doc所说的那样。

有人经历过这个吗?

- 修改

可能涉及的人,工作版本:

<window width="400" height="300"
 onload="document.getElementById('textBox2').tabIndex='-1';"
 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

   <textbox id="textBox1"/>
   <textbox id="textBox2" onmousedown="return false;"/>
   <textbox id="textBox3"/>
</window>

2 个答案:

答案 0 :(得分:0)

我打开了一个错误报告:https://bugzilla.mozilla.org/show_bug.cgi?id=627691

答案 1 :(得分:0)

文本框本身永远不会成为焦点。相反,XBL在文本框中创建了一个匿名的XHTML输入元素,这就是需要关注的内容。您可以通过将其选项卡索引设置为-1来阻止文本框获取键盘焦点,并通过阻止mousedown事件的默认操作来使鼠标焦点化。

另一种方法是将文本框设置为禁用或只读,具体取决于您不希望文本框聚焦的原因。