2016-07-29 9 views
1

クリックしたときにjQueryを使用して子行を展開および折りたたむことができるグループ行を含むHTML表があります。各グループ行には、すべての表の列にまたがる単一の列が含まれています。この列には新しいウィンドウを開くリンクがあります。リンクの問題内のリンク:クリック可能な要素内へのリンクの配置

新しいウィンドウのリンクをクリックすると問題が発生します。新しいウィンドウが開いているだけでなく、リンクをクリックすると、グループ行のonclickイベントが発生し、行グループが切り替わります。新しいウィンドウリンクがクリックされたときにトグルをどのようにして防ぐことができるかについてのアイデアは、行がどこにでもクリックされたときに切り替えることを許可しますか?

<tr class="groupRow" onclick="toggleChildRows()"> 
    <td colspan="@tableColumnCount"> 
     <a href="@newWindowPath">New Window</a> 
    </td> 
</tr> 
+1

、デザインが悪い。いつトグルして新しいウィンドウを開く必要があるのか​​分かりますか? – Satpal

+1

よくある問題です。[event.stopPropagation](https://api.jquery.com/event.stoppropagation/)を使用すると、イベントをその要素に限定することができます – Craicerjack

答えて

0

私はこれを作るためのより良い方法があると思いますが、あなたは、リンクの伝播(バブリング)を停止することができ、それが動作します。私の意見では

$('a').on('click', function(event) { 
 
    event.stopPropagation(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div onclick="alert('yeah');"> 
 
    <a href="@newWindowPath">New Window</a> 
 
    <div>click this</div> 
 
</div>

関連する問題