如果某些 link 之前已经粘贴到 <input>,则无法将任何 link <a href> 拖放到 <input type="text">

Can't drag and drop any link <a href> to the <input type="text"> if some link has been already pasted to the <input> before

无法粘贴任何link <a href="#">Link for Drag and Drop</a>到Chrome中的<input type="text"/>默认HTML5拖拽,如果有link 已经被拖放到输入中了。

它也可以在 Whosebug 网站上重现。尝试将 'Whosebug' link 拖放到 "Search..." 输入,一开始它可以正常工作。再试一次,在拖动 <input> Chrome 期间将光标更改为 'not allowed'

作为解决方法,您可以在第二次拖动之前单击任意位置,现在可以将 link 粘贴到相同的输入。

它在 Firefox、IE、Edge 上没有问题,但在 Chrome 上没有问题。

第二次尝试为 Chrome 拖放 link:

第二次完成拖放 Firefox link 的尝试:

有人可以为 Chrome 解释这种拖放功能的行为吗?

我已经找到 Chrome 这种行为的根本原因。 当您成功完成拖放操作后,粘贴到输入的 link 文本仍然处于选中状态,即使您在屏幕上看不到它。 并且仅 Chrome 为真。所有其他浏览器在拖放完成后从目标 <input>/<textarea> 中删除选择。

因此您无法完成对选定文本的拖放操作,但您可以在下一次通过 JS 拖动之前删除选择: https://jsfiddle.net/Klyuch/98tLcxhw/13/