Не могу перетащить ссылку наесли какая-то ссылка уже была вставлена ​​в <input>ранее - PullRequest
0 голосов
/ 23 декабря 2019

Невозможно вставить любую ссылку <a href="#">Link for Drag and Drop</a> в <input type="text"/> в Chrome по умолчанию перетаскивание HTML5, если какая-либо ссылка уже перетаскивалась на вход.

Воспроизводится приСайт StackOverflow также. Попробуйте перетащить ссылку «stackoverflow» на вход «Search ...», сначала она работает правильно. Попробуйте еще раз, и во время перетаскивания над <input> Chrome меняет курсор на «не разрешено» cursor icon

В качестве обходного пути вы можете щелкнуть в любом месте перед повторным перетаскиванием, и теперь можно вставитьссылка на тот же ввод.

Работает без проблем для Firefox, IE, Edge, но не для Chrome.

Вторая попытка перетащить ссылку для Chrome: enter image description here

Вторая завершенная попытка перетащить ссылку для Firefox: enter image description here

Может кто-нибудь объяснить такое поведение функции перетаскивания в Chrome?

1 Ответ

0 голосов
/ 23 декабря 2019

Я нашел основную причину этого поведения для Chrome. После успешного завершения операции перетаскивания текст ссылки, вставленной на вход, все еще выделяется, даже если вы не видите этого на экране. И это верно только для Chrome. Все остальные браузеры удаляют выделение из цели <input> / <textarea> после завершения перетаскивания.

В результате вы не можете закончить перетаскивание над выделенным текстом, но вы можете удалить выделениеперед следующим перетаскиванием по JS: https://jsfiddle.net/Klyuch/98tLcxhw/13/

...