我正在尝试创建一个链接,当单击该链接时,会切换其 href 属性,然后转到该位置。
我的html是:
<a href="http://google.com" rel="group" data-wpurl="http://yahoo.com"></a>
单击时,我希望浏览器转到 data-wpurl 位置,而不是 href 位置。我使用数据属性的原因是因为我正在使用的应用程序需要使用 href...此处不相关。
我的 jQuery 是:
$('a[rel="group"]').on('click', function(e) {
e.preventDefault();
var wpurl = $(this).attr("data-wpurl");
$(this).attr('href', wpurl);
});
我正在使用 e.preventDefault();以防止浏览器将用户带到 href。将 data 属性分配给 href 后,如何触发点击?使用 trigger('click')
和 click();
不起作用!
有什么想法吗?
最佳答案
类似的解决方案,但不需要调用e.preventDefault()
$('a[rel="group"]').on('click', function(e) {
e.originalEvent.currentTarget.href = $(this).data('wpurl');
});
从我的角度来看,这是一个更通用、更干净的解决方案,因为这不会改变默认的浏览器行为(例如:当用户用鼠标滚轮单击链接时,使用 Jacks 解决方案不会出现新选项卡)打开)
关于jquery - 使用 jQuery 单击后更改链接 href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16425260/