<input>和<textarea>兩種文本框都支持select()方法,這個方法用於選擇文本框中的所有文本。在調用select()方法時,大多數浏覽器都會將焦點設置到文本框。這個方法不接受參數,可以在任何時候調用。下面來看一個例子:
var textbox = document.forms[0].elements["textbox1"]; textbox.select();
在文本框獲得焦點時選擇其所有文本,這是一種非常常見的做法,特別是在文本框包含默認值的時候。因為這樣做可以讓用戶比比一個一個的刪除文本。下面展示了實現這一操作的代碼:
var EventUtil = {
addHandler: function (element, type, handler) {
if (element.addEventListener) {
element.addEventListener(type, handler, false);
} else if (element.attachEvent) {
element.attachEvent("on" + type, handler);
} else {
element["on" + type] = handler;
}
},
getEvent: function (event) {
return event ? event : window.event;
},
getTarget: function (event) {
return event.target || event.srcElement;
}
};
var textbox = document.forms[0].elements["textbox1"];
EventUtil.addHandler(textbox, "focus", function (event) {
event = EventUtil.getEvent(event);
var target = EventUtil.getTarget(event);
target.select();
})
將上面的代碼應用到文本框之後,只要將文本框獲得焦點,就會選擇其中所有的文本。這種技術能夠較大幅度地提升表單的易用性。