Я создал тестовую страницу, на которой для загрузки выбран первый тег p "TEST" (выделен).Перейдите на эту страницу (http://thex.me/T/), и вы увидите, что она работает. Нажмите кнопку «Тест», и второй P-тег «TSET2» будет выделен (выделено). Теперь попробуйте эту страницу на любом устройстве IOS, а подсветка отсутствует.onload! Теперь нажмите кнопку, и второй тег P также не будет выделен! (Это забавный бит) Теперь нажмите и удерживайте кнопку «TEST», создайте выделение (выделите), а затем нажмите кнопку ... Его там!
Может кто-нибудь сказать мне, если я что-то упускаю, когда вы программно создаете диапазон. При длительном нажатии происходит что-то, что заставляет его отображаться?
Я знаю, что выбор сделанпри загрузке на устройствах 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 pop»с "по обе стороны.Как и на любом другом устройстве.