首页 » JavaScript » 共有表单字段方法

共有表单字段方法

每个表单字段都有两个方法:focus()和blur()。其中,focus()方法用于将浏览器的焦点设置到表单字段,即激活表单字段,使其可以相应键盘事件。例如,接受到焦点的文本框会显示插入符号,随时可以接受输入。使用focus()方法,可以将用户的注意力吸引到页面中的某个部位。例如,在页面加载完毕后,将焦点转移到表单的第一个字段。为此,可以侦听页面的load事件,并在该事件发生时在表单的一个字段上调用focus()方法,如下面的例子所示:

EventUtil.addHandler(window, "load", function () {
    document.forms[0].elements[0].focus();
});

要注意的是,如果第一个表单字段是一个<input>元素,且其type特性的值为“hidden”,那么以上代码会导致错误。另外,如果使用CSS的display和visibility属性隐藏了该字段,同样也会导致错误。

在默认的情况下,只有表单字段可以获得焦点,对于其它元素而言,如果先将其tabIndex属性设置为-1,然后在调用focus()方法也可以让这些元素获得焦点。只有Opera不支持这种技术。

与focus()方法相对的是blur()方法,它的作用是从元素中移走焦点。在调用blur()方法时,并不会把焦点转移到某个特定的元素上;仅仅是将焦点从调用这个方法的元素上面移走而已。在早期Web开发中,那时候的表单字段还没有readonly特性,因此就可以使用blur()方法来创建只读字段。现在,瑞然需要使用blur()的场合不多了,但必要时还可以使用的。用法如下:

document.forms[0].elements[0].blur();
此文章发表在 JavaScript. 将 固定链接 加入收藏.