У меня есть контент-доступный div, где пользователь может набрать текст, выбрать его и затем добавить к нему ссылку (нажав кнопку). Затем они могут удалить ссылку, наведя курсор на текст и нажав другую кнопку.Проверка, является ли выделенный текст ссылкой или нет
В настоящее время отображаются обе кнопки (связь и разблокировка). Можно ли иметь кнопку UNLINK скрытые и когда пользователь выбирает некоторый текст внутри 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) –