<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(); })
將上面的代碼應用到文本框之後,只要將文本框獲得焦點,就會選擇其中所有的文本。這種技術能夠較大幅度地提升表單的易用性。