私は JavaScript にかなり慣れていないので、ここの誰かが次のことで私を助けてくれることを願っています:
主にIE 8での解決策を探しています-他のブラウザ/バージョンをさらにうまくカバーできるかどうか。動的に作成され、テキストと HTML タグの両方を含む contenteditable div が 1 つだけのページがあります。ページで、カーソル位置に特定のテキストを挿入するボタンをこの div に追加したいと考えています。
これまでのところ、div 内のテキストを選択している限り正常に動作する次のコードがありますが、何も選択せずにカーソルをそこに置くと、テキストが div の外に挿入されます。
選択位置と同じように、常にカーソル位置にテキストを追加するにはどうすればよいですか? (カーソル位置でのみ必要になるため、選択を置き換える必要さえありません。また、これは特定の div にのみ必要です。)
私のコード:
<html>
<head>
<script type="text/javascript">
function test()
{
var input = "TEST";
document.selection.createRange().pasteHTML(input);
}
</script>
</head>
<body>
<div id="myDiv" contenteditable>This is a test text.</div><br />
<button type="button" onclick="test()">Test</button>
</body>
</html>
これについて助けてくれてありがとう、ティム