我注意到当用户点击链接时,例如中间按钮或shift / ctrl + left按钮,不会调用附加到超链接的处理程序。
我已经看到了跟踪mousedown事件的解决方案,但我想要的是跟踪链接的确切事件。
有什么建议吗?感谢
答案 0 :(得分:3)
mousedown
/ mouseup
确实是获得中间按钮互动通知的唯一方式,因此在不干预mouseout
事件的情况下检测到一个倒立的事件或多或少是你能做的最好。这不是很好。
我不会打扰,因为即使你陷入了这种可能性,也有许多其他的互动你无法接受。除了中键单击(可能不是所有浏览器/配置中的“在新选项卡中打开”;例如在IE6中,用户将打开滚动模式),用户可能会右键单击并在“新建”中打开“窗口”,或将链接拖到地址栏或新标签页,或其他各种特定于浏览器的操作以执行导航。
答案 1 :(得分:2)
如果链接在您的网站上,则在网页加载时跟踪链接,而不是在获取链接的网页上。如果该链接指向其他网站,则您需要使用重定向网址,以便您的网站可以对其进行跟踪(例如:http://yoursite.com/redirect.html?redirect=http://othersite.com)。
在重定向页面中,您可能会执行以下操作(如果您要使用javascript):
$(document).ready(function(){
//insert your tracking code here...
var redirect = getParameterByName('redirect');
if(redirect != ''){
window.location = redirect;
}
});
//From http://stackoverflow.com/questions/901115/get-querystring-with-jquery/901144#901144
function getParameterByName( name ){
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null )
return "";
else
return results[1];
}
答案 2 :(得分:1)
你可以将“mousedown”'mouseup'事件与“event.which”结合使用。
答案 3 :(得分:0)
如何点击右键劫持......或者更确切地说是左键。