2016-07-29 37 views
1

我有一個HTML表格,其中包含的組行允許其子行在單擊時通過jQuery展開和摺疊。每個組行都包含跨越整個表格列的單個列。在這一欄內是一個打開一個新窗口的鏈接。鏈接問題中的鏈接:將鏈接放置在可點擊的元素內

單擊新窗口鏈接時發生問題。新窗口不僅會打開,而且點擊該鏈接會導致組行的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>