Div - onblur功能

use*_*770 41 html

我想叫onblurdiv.不知道如何完成它.

试过这个:

div onblur="javascript:callme()"
Run Code Online (Sandbox Code Playgroud)

但它不起作用

Str*_*lok 91

对于blur要触发元素的事件,元素需要首先获得焦点.但是<div>默认情况下元素不会获得焦点.

您可以添加tabindex="0"或添加contentEditable到div,以便获得焦点.

看到它在行动:http://jsfiddle.net/t25rm/

  • 请注意,如果您不希望使用 [tabindex 的负值](https://developer.mozilla.org/docs/Web/HTML/Global_attributes/tabindex) (`tabindex="-1")`,元素可以通过例如键盘访问,但仍然有“onFocus”和“onBlur”事件。 (3认同)

Que*_*tin 12

焦点丢失时会触发模糊事件.默认情况下,div元素不能在第一个位置具有焦点,因此它不会丢失.

如果你设置tabindex了div,那么它可以获得焦点,但是当你考虑进行交互式控制时,你应该几乎总是使用更合适的元素(例如按钮).

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

  • 我的意思是为什么不呢,如果您想更改所说的&lt;div&gt;内的一组控件上的类(或其他属性等)呢? (3认同)

Sha*_*dow 8

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

<div id="yourdivid" tabindex="0">content</div>
Run Code Online (Sandbox Code Playgroud)

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

document.getElementById("yourdivid").onfocus = function() {
   alert('focused');
}
document.getElementById("yourdivid").onblur = function() {
   alert('blur');
}
Run Code Online (Sandbox Code Playgroud)