select
select(element) -> HTMLElement
选取文本输入框中包含的文本。
译注:该方法其实并未添加到已扩展的表单控件中,所以 $('inputElement').select()
调用的并不是这个方法,而是 JavaScript 原生的 select()
方法。Form.Element.focus()
方法也存在同样的问题。
样例
设置一些搜索框,当它们获得焦点时,自动选择它们的内容。
$('searchbox').onfocus = function() {
Form.Element.select(this)
// 你也可以使用原生的方法,但是那样的话将不会返回元素!如下:
this.select()
}
获取焦点 + 选择内容:使用 activate
!
如果表单控件需要获取焦点并选择当前的文本内容,那么使用 activate 方法是一个很棒的选择——只需要一次简单的 JavaScript 调用就可以了。
译注:在 Prototype 1.6.0.3 的源码中,Form.Element
的 focus
和
select
方法将传入的参数 element
直接返回,并未做任何处理,所以若传入的
element
是一个字符串,则返回值也是一个字符串。
为修正这个问题,请修改 Prototype 的源码,将第 3562 行和第 3567 行(如果你曾经修正过
Element.relativize 的问题,则为第 3564 行和第 3569 行)的代码:
$(element).focus();
替换为:
element = $(element);
element.focus();
注意:仅针对 Prototype 1.6.0.3,其它版本未知。