0

クリック機能のハンドラーを追加して、リンクにリダイレクトしようとしています。google.com にリダイレクトするクリック ハンドラを持つ親 div があり、親 div 内に、yahoo.com を指すアンカー タグを持つサブ div があります。yahoo.com へのリンクを含むサブ div をクリックすると、現在は google.com に移動します。この問題を解決するにはどうすればよいですか?

JSFIDDLEを作成しました。HTMLコードは次のとおりです。

<div class="maindiv">
    <div class="subdiv">
        <a href="http://yahoo.com">Click Me</a>
    </div>
</div>

および Javascript コード:

jQuery('.maindiv').click(function() {
    window.open('http://google.com');    
});

親divをクリックするとユーザーが移動する必要がありますgoogle.comが、親div内のリンクはユーザーを適切なリンクに移動する必要があります。

ありがとう!

4

6 に答える 6

4

更新されたコードは次のとおりです: http://jsfiddle.net/c2XJf/23/

具体的には、次のようにアンカー タグでクリック イベントの伝播を停止する必要があります。

$('.subdiv a').click(function(event){
    event.stopPropagation();
});

アンカー タグのリンクを新しいタブ/ウィンドウで開きたい場合は、次のように HTML に target 属性を追加します。

<a href="http://yahoo.com" target="_new">Click Me</a>
于 2013-11-15T07:59:39.613 に答える
1

ターゲット div が現在の div かどうかを確認します。

これを試して

jQuery('.maindiv').click(function(e) {
 if(e.target == this){
     window.open('http://google.com');
 }
});
于 2013-11-15T08:01:47.343 に答える
1
$('a').click(function(){window.open('http://yahoo.com');});
于 2013-11-15T08:02:21.887 に答える
1

HTML コード:

<div class="maindiv">
    <div class="subdiv">
        <a href="#">Click Me</a>
    </div>
</div>

Jquery コード:

jQuery('.maindiv').click(function() {
    window.open('http://google.com');    
});
jQuery('.maindiv').find('a').click(function() {
    window.open('http://yahoo.com');    
});
于 2013-11-15T08:19:48.097 に答える