如果您使用Firefox或Chrome浏览网页,您可以通过按住右键来选择超链接中的文本,即带有<a>
标签的元素。制作超链接
在我的应用程序中,我想实现这个使用JavaScript,而不是通过按住一些按钮,但默认情况下。如果用户双击,我将重定向到url,否则用户将能够选择内容,就像它只是一个纯文本。
我试过的第一件事就是用<span>
元素替换所有的<a>
元素并实现相关事件。这提供了我想要的功能,但相当严重地扭曲了外观,我保留所有属性(class,id)相同。似乎有标签<a>
特定的CSS我正在处理的网页。
现在正在尝试的是通过保持标记名来实现这一点。我当前的代码如下:
var linkElems = document.getElementsByTagName('a');
for (var i = linkElems.length - 1; i >= 0; i--) {
linkElems[i].ondblclick = function() {
//redirect to url
};
linkElems[i].setAttribute("href", "#");
linkElems[i].onclick = function() { return false; };
}
此代码后,链接不会使页面重定向到相应的网址,但是当我尝试选择的文本,它只是拖动具有它的URL一些箱子。为了防止这种情况,我写了下面这行代码:
document.body.ondragstart = function(){return false;}
现在,我阻止了拖动但仍然无法选择文本。我不知道有没有办法解决这个问题。
约
data-*
属性,我认为第一个想法是好的,那么你就必须寻找到CSS什么属性都设置好的为并将它们设置为您的跨度链接。 – rakwaht@rakwaht我不认为这是一个好主意,因为我不创建这些文件,我不想修改它们。另外,有时候会有类似bootstrap的库,你不想改变它们。 –