1

如果浏览器支持selectionStart并且选择了一些文本,则此代码将返回true,但如果未选择任何文本,则返回 false(即使在支持它的浏览器上):

   if (el.selectionStart) {

  }

无论是否恰好选择了文本,您如何确定该属性是否可用?

谢谢

4

2 回答 2

2

进一步的谷歌搜索揭示了答案:

 if (el.selectionStart != undefined) {

 }
于 2010-06-23T22:59:50.490 回答
0

希望这会对您有所帮助。我在旧的 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();
于 2015-11-13T06:12:32.980 回答