专注于非输入/锚元素?

时间:2009-02-15 00:24:42

标签: javascript html dom

我正在研究一些需要可以获得焦点的标记的JavaScript。我希望能够使用<div />代码,但<div />代码无法获得焦点。

看起来可以获得焦点的唯一元素是<input />标记和<a />标记。是否有其他方法可以让元素获得不是<input /><a />标记的焦点?

我无法使用<a /><input />代码,因为我需要能够将内容放在代码中,这样这些代码都不会起作用,除非有办法允许嵌套{{} 1}}标签,虽然我对此goes against the standard表示怀疑。我试图找出一种方法来允许<a />标记(或任何其他容器元素)获得焦点。

3 个答案:

答案 0 :(得分:11)

“可以获得焦点”是什么意思?可以设置任何DOM元素以接收大量的javascript事件,包括click个事件。

或者你的意思是“可以用键盘选项卡”?如果是这样,如果您无法使用a标记作为容器,请尝试使用元素tabindex property。我不确定它是如何跨浏览器的,但至少在用javascript自己写一个标签式ui之前先尝试一下。

答案 1 :(得分:0)

书签是要走的路。

使用

开始您的内容
<a href="#anchor">

答案 2 :(得分:0)

某种解决方法而且在语义上不正确,但是......

a#foo { display: block; }
a#foo:hover { cursor: default; }

然后使用JavaScript拦截a#foo上的onClick事件并返回false。