【问题标题】:What are the results of element.focus() method in javascriptjavascript中element.focus()方法的结果是什么
【发布时间】:2014-08-30 10:52:52
【问题描述】:

所以我是 javascript 的新手,我搜索了很多关于焦点函数的结果,但我发现它只是关注元素。这个解释并没有真正帮助我,所以有人可以向我解释一下使用这个函数时结果有什么不同吗?它专注于某些元素是什么意思?

【问题讨论】:

  • 你在说哪个focus函数? focus method of HTML elements?
  • 我现在检查的例子是通过DOM,document.getElementById(id).focus();所以我认为基本上是 html 元素

标签: javascript dom focus


【解决方案1】:

你有一个例子: http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_html_blur 例如,当您在表单上按 Enter 键时,如果您将焦点放在“提交”按钮上,它将验证表单,但如果您没有将焦点放在它上面,则不会。

同样对于输入,如果你关注它,你可以在其中写一些东西,但如果你不关注它就不行。

此函数用于为元素提供焦点。

【讨论】:

  • 谢谢,现在已经很清楚了,但是当涉及到用户需要填写的 textarea 时呢?把字母加粗还是什么?
  • 不,它只是将焦点放在文本区域上。然后,textarea 在获得焦点时的变化方式取决于浏览器。
【解决方案2】:

简短的回答 - 元素成为任何 UI 交互的第一响应者,例如键盘/鼠标等

长答案 - 元素在聚焦时如何工作的行为记录在 HTML spec 中。特别是看看focusing steps

  1. 如果元素不在 Document 中,或者如果元素的 Document 没有浏览上下文,或者如果元素的 Document 的浏览上下文没有顶级浏览上下文,或者如果元素不可聚焦,或者如果元素已经聚焦,然后中止这些步骤。

  2. 如果聚焦该元素会移除另一个元素的焦点,则对该元素运行取消聚焦步骤。

  3. 使元素成为其顶级浏览上下文中的当前焦点元素。

    某些元素,尤其是区域,可以对应多个不同的可聚焦区域。如果在元素聚焦时指示了特定区域,那么该区域就是必须获得焦点的区域;否则,例如使用 focus() 方法时,树顺序中的第一个这样的区域是必须聚焦的区域。

  4. 用户代理可以应用相关的特定于平台的约定来聚焦小部件。

    例如,某些平台会在某个文本字段获得焦点时选择该字段的内容

  5. 在元素上触发一个名为 focus 的简单事件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-17
    • 1970-01-01
    相关资源
    最近更新 更多