touchend和目标_blank不合作

时间:2014-09-29 23:25:23

标签: javascript jquery html ios

因为我同时拥有图像和链接悬停状态,所以我使用了一段通用代码来确保您不需要点击两次即可在iOS上打开链接。请参阅下面的代码。

但是,我注意到当使用带有target =" _blank"的链接时,它会在父窗口和新窗口中打开。我怎样才能防止这种情况发生?当然,我希望父标签保留在当前网站上。

此外,我还注意到javascript似乎在敏感方面略微点击,即有时它只在一次点击就打开了下一页上的链接。这是正常的吗?有解决方案吗?



  $('a').on('click touchend', function(e) {
    var el = $(this);
    var link = el.attr('href');
    window.location = link;
	
});




1 个答案:

答案 0 :(得分:1)

您可以使用e.preventDefault();取消本机行为,然后使用window.open(link,target);在适当的目标中打开链接:

$('a').on('click touchend', function(e) {
    e.preventDefault();
    var el = $(this);
    var link = el.attr('href');
    var target = el.attr('target');
    window.open(link, target); 

});