如果浏览器支持selectionStart并且选择了一些文本,则此代码将返回true,但如果未选择任何文本,则返回 false(即使在支持它的浏览器上):
if (el.selectionStart) {
}
无论是否恰好选择了文本,您如何确定该属性是否可用?
谢谢
如果浏览器支持selectionStart并且选择了一些文本,则此代码将返回true,但如果未选择任何文本,则返回 false(即使在支持它的浏览器上):
if (el.selectionStart) {
}
无论是否恰好选择了文本,您如何确定该属性是否可用?
谢谢
进一步的谷歌搜索揭示了答案:
if (el.selectionStart != undefined) {
}
希望这会对您有所帮助。我在旧的 Android 4.2(返回 false)和 Chrome(返回 true)上对其进行了测试。
function selectionSupport() {
var input = document.createElement("input");
input.setAttribute('value', '111');
input.selectionStart = 1;
input.selectionEnd = 2;
return (input.selectionStart === 1 && input.selectionEnd === 2);
}
var selectionIsSupported = selectionSupport();