“-moz-用户焦点”不起作用?

发布于 2024-10-12 16:23:54 字数 975 浏览 4 评论 0原文

我制作了这个示例:

<?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>

I've made this sample:

<?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>

And, at least here, the style applied to the second textbox is doing nothing. I expected it to avoid the user focus, as the doc says.

Does someone experienced this?

--edit

To whom it may concern, the working version:

<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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

初心未许 2024-10-19 16:23:54

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

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

The textbox itself never takes focus. Instead, XBL creates an anonymous XHTML input element inside the textbox, and this is what takes focus. You can stop the textbox taking keyboard focus by setting its tab index to -1, and mouse focus by preventing the default action of mousedown events.

Another approach is to set the textbox to disabled or readonly, depending on why you don't want the textbox to be focused.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文