对于 Opera、Firefox 和 Safari,您可以使用以下功能:
function getTextFieldSelection(textField) {
return textField.value.substring(textField.selectionStart, textField.selectionEnd);
}
然后,您只需将对文本字段元素(如 textarea 或 input 元素)的引用传递给函数:
alert(getTextFieldSelection(document.getElementsByTagName("textarea")[0]));
或者,如果您希望 <textarea> 和 <input> 拥有自己的 getSelection() 函数:
HTMLTextAreaElement.prototype.getSelection = HTMLInputElement.prototype.getSelection = function() {
var ss = this.selectionStart;
var se = this.selectionEnd;
if (typeof ss === "number" && typeof se === "number") {
return this.value.substring(this.selectionStart, this.selectionEnd);
}
return "";
};
然后,您只需执行以下操作:
alert(document.getElementsByTagName("textarea")[0].getSelection());
alert(document.getElementsByTagName("input")[0].getSelection());
例如。