2

我觉得要求这个真的很愚蠢,但值得注意的是,我已经敲了一个小时的头。这是代码:

<div id="img1" onfocus="alert('test');" onblur="alert('test');">
 <img id="image1" name="image1" src="image1.jpg"  alt="Pciture 1">&nbsp;
</div>

两个事件 ( Focus/ Blur) 都应该调用一个函数,但即使是这个简单的测试 ( alert) 也不起作用。这两个标签都在正文部分,尝试更改DOCTYPE定义 - 无效。

W3 报错:

没有属性“ONFOCUS”

我的主要目标是直接在img标签上使用事件,但由于某种原因也不起作用。

4

8 回答 8

8

默认情况下 div 不是交互式元素,因此它根本不会获得焦点,请尝试向tabindexdiv 添加一个属性,这样tabindex="1"它将是可聚焦的

于 2011-05-03T09:58:00.613 回答
4

<div>并且<img>通常没有焦点或模糊事件,但您可以尝试在其上设置 tabindex 作为解决方法。不过这有点奇怪。

http://www.quirksmode.org/dom/events/blurfocus.html

于 2011-05-03T09:58:51.060 回答
2

onfocus 事件发生在元素通过定点设备或选项卡导航获得焦点时。此属性可与以下元素一起使用:A、AREA、LABEL、INPUT、SELECT、TEXTAREA 和 BUTTON。

来源w3c HTML4 规范

adiv和 animg都不能接收或失去焦点,这些都不是交互元素。您可以通过设置使他们获得焦点tabindex

有些节点默认是不可聚焦的,例如 div、span、table 等,但如果应用 tabindex 则可以接收焦点

来源: http: //nemisj.com/focusable/

于 2011-05-03T09:58:58.120 回答
0

W3C 验证器是正确的,div 标签没有 onfocus 或 onblur 作为属性。见这里: http ://www.w3schools.com/tags/tag_DIV.asp

于 2011-05-03T09:58:08.137 回答
0

也许这些事件是您正在寻找onmouseoveronmouseout

于 2011-05-03T10:00:57.113 回答
0

您不应该将内联 JS 用于您的事件处理程序。改用不显眼的 javascript

于 2011-05-03T20:18:51.943 回答
0

Div Tag 没有 onfocus 和 onblur 事件。请尝试鼠标悬停,鼠标悬停等。

于 2011-05-05T04:42:58.200 回答
-1

您可以停止敲打头,首先它很痛,其次您不能在 div 元素上使用 onfocus 或 onblur。

查看链接: W3C

你想达到什么目的?

于 2011-05-03T09:58:15.890 回答