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

时间:2014-04-30 11:26:56

标签: javascript jquery html bookmarks

我有这个嵌套的Bootstrapped手风琴,在那里完成了折叠by setting the element href's as "#collapseOne", "#collapseTwo"等等。

在我的页面上,当用户点击手风琴上的链接时,该页面还会加载由锚点“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=cats

如果我在开始拖动时尝试更改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”-property并试图摆弄event.originalEvent.dataTransfer对象而没有运气。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

当您拖放某些内容时,您不会移动或更改原始对象。写下的副本是缓冲区。

由于我不是专家,请尝试以下方法:

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