私はiPhoneアプリの開発者です。選択したテキストの色を変更しています。これは私にとってはうまく機能しています。しかし、たとえば繰り返し単語が少ない場合
こんにちはAll.Helloworld.IはiPhoneアプリ開発者です。Helloworld.Stackoverflow.Helloworld。
ここで「こんにちは」のテキストが繰り返されています。最後の「Hello」テキストを選択すると、最初の「Hello」テキストインデックスが表示されます。試しましたがindexOf(),search()
、anchorOffset()
機能しません。
以下は私のコードです。
function heighlightText(data) {
var selectedText = window.getSelection();
var textd=$("#data").html(); // this will give me whole text.
var normalText = $("#data").text();
var startPosition = normalText.search(selectedText); // this will give selected text start position.
var getPosition = selectedText.toString();
var endPosition = parseInt(getPosition.length) + parseInt(startPosition); // this will give selected text end position.
var textToReplace = "<span id='" + startPosition + "' class='highlightedText' onclick=\"myOnclikFunction('"+selectedText+"')\"> "+selectedText+"</span>";
var startPart = textd.substr(0,startPosition);
var lastPart = textd.substr(endPosition,textd.length);
var reT = startPart + textToReplace + lastPart;
$("#data").html(reT);
}
Hy HTML:
<style type = "text/css">
#data {
font-size : 20px;
color : black;
}
.highlightedText {
background-color : red;
}
</style>
<body>
<div id = "data" >Lots of text here...
<div/>
</body>
誰かがこれに対する解決策を提案できますか?前もって感謝します。