1

我有一张这样的 tr 风格的桌子:

echo "<tr style=\"background-color: $farbe;\" onmouseover=\"this.style.cursor='pointer';this.style.backgroundColor='#87CEFF';\"onclick=\"window.location='overview.php?adrnr=" . $inhalt["AdrNr"] . "'\"  onMouseOut=\"this.style.backgroundColor='$farbe';\">\n";

我想在其中一个看起来像这样的元素中有一个按钮

<td> <input type = "button" value = "Bearbeiten" onClick="self.location.href='  changeadress.php'" >

问题是,一旦我按下按钮,我就会进入 overview.php,因为 td 得到了解决这个问题的任何方法。

4

1 回答 1

1

您可以在 IE 中使用 event.stopPropogation() 或 window.event.cancelBubble。

您可以将它们组合在一个函数中,如下所示:

<script type='text/javascript'>
    function stopEventBubble(event)
    {
       if (event.stopPropagation){
           event.stopPropagation();
       }
       else if(window.event){
          window.event.cancelBubble=true;
       }
    }
</script>

<table>
    <tr onclick="window.location='http://www.google.com'">
        <td>
            <button onclick="self.location.href='http://www.yahoo.com'; stopEventBubble(event)">stuff</button>
        </td>
    </tr>
</table>

主要取自此 SO:如何使用内联 onclick 属性停止事件传播?对此有一些很好的评论

于 2013-01-21T16:09:26.210 回答