0

我使用jQuery“点击”功能。如果使用简单的点击 img 就可以了,但是当这张图片上带有标签 'target="_blank"' 的链接或用户点击右键,然后'在新窗口中打开',这个功能不起作用。

当用户在新窗口中打开链接时,该点击功能如何发挥作用?

我的代码:

$('.button_img').live('click', function(){
    alert('new');
    //do something
});

<a href="http://www.google.com" target="_blank">
<img class="button_img" src="img.png" />
</a>    
4

3 回答 3

0

你不能阻止用户打开一个新标签,我唯一能想到的就是不使用<a></a>标签,所以他们甚至不会得到这个选项,但它仍然看起来像这样的可点击元素:

JS

$('.button_img').live('click', function(){
    alert('new');
    //do something

    //If you want to redirect to, for example, google in some case you do:
    //window.location = "http://www.google.com";
});

HTML

<div class="fakeLink">
     <img class="button_img" src="img.png" />
</div>  

CSS

 .fakeLink {
        cursor:pointer;
        /*     styles     */
    }
于 2012-04-16T12:09:29.880 回答
0

只需添加“return false;” 在您的点击功能结束时:

$('.button_img').live('click', function(){
    alert('new');
    //do something
   return false;
});

这将防止单击鼠标左键后打开新窗口。并且请不要使用鼠标右键单击来做任何事情——这是用户的业务,做或不做。

于 2012-04-16T12:10:32.870 回答
0

我认为这应该可行

$('.button_img').live('click', function(){
   $(this).attr('target','_blank');
    //do something
});

或者你可以试试这个

$('.button_img').live('click', function(){
   window.open(this.href);
   e.preventDefault(); //or return false;
});

请参阅以获取更多信息

于 2012-04-16T11:58:13.877 回答