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

this should work I think

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

or you can try this

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

refer this for more information

于 2012-04-16T11:58:13.877 に答える
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 に答える