在IOS(iOS 12)上不显示以JavaScript编程创建的选择

时间:2019-02-09 10:38:05

标签: javascript ios range selection highlight

我创建了一个测试页面,在该页面上,第一个p标签“ TEST”被选中(突出显示)。转到此页面(http://thex.me/T/),您会看到它正常工作。按下测试按钮,并选择第二个P标签“ TSET2”(突出显示) 现在,在任何IOS设备上尝试该页面,并且高亮显示没有加载!现在按下按钮,第二个P标签也不会突出显示! (这是有趣的一点)现在长按“测试”并创建一个选择(突出显示),然后按一下按钮即可。

当您以编程方式创建范围时,有人可以告诉我是否丢失了某些内容。长按中有什么事情在显示出来?

我知道选择是在IOS设备上加载时进行的,因为当我尝试window.getselection()。toString()时,它将返回TEST,并且如果刷新页面,则不能长按“ Test”,因为您可以突出显示已经突出显示的内容。

function Test(name)
{
    var TestRange = new Range;
    var el = document.getElementById(name);
    TestRange = document.createRange();
    TestRange.setStart(el,0);
    TestRange.setEnd(el,1);
    window.getSelection().removeAllRanges();
    window.document.getSelection().addRange(TestRange)
}


document.body.onload = function(e) {
    Test("a");
}

索引页:

<html>
<head> 
    <meta name="viewport" content="width=device-width, initial-scale=1">     
</head>

<body>
<p id = "a"> TEST</p>
<p id = "b"> TSET2</p>
<button onclick="Test('b')">TEST</button>
    <script src="script.js"></script>
</body>

</html>

在加载时,IOS上的页面应显示选中了“ TEST”(突出显示)的页面,并且两侧各有两个“ lolly pops”。就像在其他所有设备上一样。

0 个答案:

没有答案