Form.Element.select - Prototype JavaScript 框架

Xunxin Prototype API

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.Elementfocusselect 方法将传入的参数 element 直接返回,并未做任何处理,所以若传入的 element 是一个字符串,则返回值也是一个字符串。
为修正这个问题,请修改 Prototype 的源码,将第 3562 行和第 3567 行(如果你曾经修正过 Element.relativize 的问题,则为第 3564 行和第 3569 行)的代码:

	$(element).focus();
替换为:
	element = $(element);
	element.focus();

注意:仅针对 Prototype 1.6.0.3,其它版本未知。