私は、ユーザがテキストを入力し、それを選択してからボタンをクリックすることでリンクを追加できるcontentedit divを持っています。次に、テキストの上にマウスを移動して別のボタンをクリックすると、リンクが削除されます。選択されたテキストがリンクであるかどうかを確認する
現在、両方のボタン(リンクとリンク解除)が表示されます。アンリンクボタンが隠され、ユーザはdivの内側にいくつかのテキストを選択したときにテキストがリンクを持っているならば、それはチェックしていすることが可能です:
- その場合は、リンクボタンが非表示になりますとリンク解除]ボタンが表示されます。リンクを解除するには、リンク解除ボタンをクリックしてください。
リンクボタンはそのままです。
<button type="button" class="center" id="link">Link</button> <button type="button" class="center" id="unlink">Unlink</button> <div style="border: 1px solid;" contenteditable> <script> $('#link').click(function() { var linkURL = prompt("Enter the URL for this link:", "http://"); document.execCommand("CreateLink", false, linkURL); updateInput() }); $('#unlink').click(function() { document.execCommand("UnLink", false, null); updateInput() }); </script>
JsFiddle:https://jsfiddle.net/yw66s03e/
あなたが選択したテキストを使用して、それがリンクの確認し、非隠しにアンリンクのプロパティを変更するために正規表現を使用することができます。私はそれがうまくいくと思います。 – selten98
残念ながら、contenteditable要素は 'onselect'イベントをサポートしていないので、この動作を扱うのは難しいでしょう。これは、選択がリンクかどうかをチェックする前に、まず処理しなければならないことです。http://stackoverflow.com/a/8443541/1414562 –
このようなものが必要ですか?[http://jsbin.com/ mahiqiy/edit?js、output](http://jsbin.com/mahiqiy/edit?js,output) –