我做了这个样本:
<?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>
答案 0 :(得分:0)
答案 1 :(得分:0)
文本框本身永远不会成为焦点。相反,XBL在文本框中创建了一个匿名的XHTML输入元素,这就是需要关注的内容。您可以通过将其选项卡索引设置为-1来阻止文本框获取键盘焦点,并通过阻止mousedown事件的默认操作来使鼠标焦点化。
另一种方法是将文本框设置为禁用或只读,具体取决于您不希望文本框聚焦的原因。