select()方法选择文本框中的所有文本


<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();
})

将上面的代码应用到文本框之后,只要将文本框获得焦点,就会选择其中所有的文本。这种技术能够较大幅度地提升表单的易用性。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3