在将链接拖动到书签工具栏的同时修改链接

Modifying a link while dragging it to the bookmarks toolbar

本文关键字:链接 工具栏 修改 书签 拖动      更新时间:2023-09-26

我有一个嵌套的、自举的手风琴,通过将元素href设置为"#collapseOne"、"#collalsTwo"等来完成折叠。

在我的页面上,当用户单击手风琴上的链接时,页面也会加载锚点"data-guid"属性指定的内容,例如:

//HTML
<a href="#collapseOne" data-guid="Cats">Click to fill page with cats</a>
$(".link_to_click").on("click", function(){
    var guid = $(this).data("guid") // cats
    loadContent(guid) // loads cats to page
});

我想通过拖动书签工具栏(Firefox(的链接来为这个页面添加书签,我得到了这个

Cats

我希望位置何时为www.catsforall.com/index.html?guid=猫

如果我试图在启动拖动时更改href

$(".link_to_click").on("dragstart", function(){
   $(this).prop("href", "www.catsforall.com/index.html?guid="+$(this).data("guid"));
});

它仍然为原始href添加书签,即使它更改了元素中的href,并且dragend事件也表示它已经更改。

$(".link_to_click").on("dragend", function(){
   console.log($(this).prop("href")); // www.catsforall.com/index.html?guid=cats
});

我也一直在尝试更改"pathName"属性,并试图篡改event.originalEvent.dataTransfer对象,但没有成功。有什么想法吗?

当您拖放某个东西时,不会移动或更改原始对象。一份副本被写下来就是缓冲区。

由于我不是专家id尝试以下:

event.dataTransfer.getData()
event.dataTransfer.setData()