document.execCommandが廃止されることに伴い下記のように
実行することがいつかできなくなってしまうため、代替のAPIやライブラリなど
ご教授いただけますでしょうか。
※Clipboard APIにて、COPYとPASTEとCUTを利用するように書かれている情報が多いですが
実現したいことは特定の領域内で「選択された文字」に対して<b>タグや<a >タグで囲むことです。
(https://stackoverflow.com/questions/60581285/execcommand-is-now-obsolete-whats-the-alternative)
※追記
var designDoc = document.getElementById("design-area").contentDocument;
designDoc.designMode = "On";designDoc.excuteCommand(command)でしたら、一部の実現が可能であることを確認しましたが
シングルページアプリケーション(SPA)にて、複数のリッチテキストをそれぞれ配置する場合オブジェクの紐づきが面倒になるかも...
javascript
1 $('.toolbar a').click(function(e) { 2 var command = $(this).data('command'); 3 if (command == 'createlink' ) { 4 url = prompt('Enter the link here: ', 'http://'); 5 document.execCommand($(this).data('command'), false, url); 6 } else document.execCommand($(this).data('command'), false, null); 7 });
html
1<div class="toolbar"> 2 <a href="#" data-command='undo'><i class='fa fa-undo'></i></a> 3 <a href="#" data-command='redo'><i class='fa fa-repeat'></i></a> 4 <a href="#" data-command='bold'><i class='fa fa-bold'></i></a> 5 <a href="#" data-command='createlink'><i class='fa fa-link'></i></a> 6 <a href="#" data-command='unlink'><i class='fa fa-unlink'></i></a> 7 </div> 8 <div id='editor' contenteditable> 9 <p>Try making some changes here. Add your own text or maybe an image.</p> 10 </div>