60

我想打电话给onbluron div。不知道如何完成它。

试过这个:

div onblur="javascript:callme()"

但它没有用

4

3 回答 3

131

blur在元素上触发事件,该元素需要首先获得焦点。但<div>默认情况下元素不会获得焦点。

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

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

于 2013-08-29T07:04:06.310 回答
23

失去焦点时会触发模糊事件。默认情况下,一个 div 元素首先不能有焦点,所以它不会丢失。

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

<!-- Not recommended. See above -->
<div tabindex="1" onblur="callme()"> content </div>
于 2013-08-29T07:01:07.097 回答
9

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

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

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

document.getElementById("yourdivid").onfocus = function() {
   alert('focused');
}
document.getElementById("yourdivid").onblur = function() {
   alert('blur');
}
于 2013-08-29T07:10:42.433 回答