【问题标题】:Div - onblur functiondiv - onblur 函数
【发布时间】:2013-09-01 11:38:37
【问题描述】:

我想在div 上拨打onblur。不知道如何完成。

试过这个:

div onblur="javascript:callme()"

但是没用

【问题讨论】:

  • 我认为div不支持onBlur!
  • 谢谢,但是我可以为这个问题提供任何解决方案
  • 查看此帖子以查找可能的事件:stackoverflow.com/questions/7284379/…
  • 如果我没记错的话,只有 AREA、BUTTON、INPUT、LABEL、SELECT、TEXTAREA 创建焦点/模糊事件,div 不会。你想做什么。
  • 我不认为你可以专注于一个 div,这样你就无法模糊它。你到底想做什么?

标签: html


【解决方案1】:

失去焦点时会触发 blur 事件。默认情况下,div 元素一开始就不能获得焦点,因此它不能丢失。

如果您在一个 div 上设置tabindex,那么它可以获得焦点,但是当您考虑制作交互式控件时,您应该几乎总是使用更合适的元素(例如按钮)。

<!-- Not recommended. See above -->
<div tabindex="1" onblur="callme()"> content </div>

【讨论】:

  • 知道这有多兼容(我不会只是好奇)
  • 相当广泛的 AFAIK,但这样做很愚蠢,因此我从未在实践中使用过它,也无需担心支持问题。
  • 为什么不呢,我的意思是,如果您想更改上述&lt;div&gt; 中的一组控件上的类(或其他属性等)怎么办?
【解决方案2】:

要在元素上触发blur 事件,该元素需要首先获得焦点。但&lt;div&gt; 元素默认不接收焦点。

您可以将 tabindex="0"contentEditable 添加到您的 div 中,以便获得焦点。

查看实际操作:http://jsfiddle.net/t25rm/

【讨论】:

  • 天啊!你拯救了我的一天!=]
  • 请注意,您可以使用negative value for tabindex (tabindex="-1"),如果您不希望通过键盘等方式访问该元素,但仍有onFocusonBlur 事件。跨度>
【解决方案3】:

如果你给 div 一个 tabindex 属性,它将能够接受焦点:

<div id="yourdivid" tabindex="0">content</div>

然后附加焦点和模糊事件处理程序 例如:

document.getElementById("yourdivid").onfocus = function() {
   alert('focused');
}
document.getElementById("yourdivid").onblur = function() {
   alert('blur');
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 2014-07-14
    • 1970-01-01
    相关资源
    最近更新 更多