Php 表中的两个onclick事件

Php 表中的两个onclick事件,php,html-table,onclick,Php,Html Table,Onclick,我有一张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.bac

我有一张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";
<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>
echo“\n”;
我想在其中一个元素中有一个按钮,看起来像这样

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


问题是,只要我按下按钮,我就可以进入overview.php,因为td得到了它,这是有办法解决的。

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

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

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";
<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>

函数stopEventBubble(事件)
{
if(事件停止播放){
event.stopPropagation();
}
else if(window.event){
window.event.cancelBubble=true;
}
}
东西

主要是从这个SO:中得到的,它对此有一些好的评论

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

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

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";
<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>

函数stopEventBubble(事件)
{
if(事件停止播放){
event.stopPropagation();
}
else if(window.event){
window.event.cancelBubble=true;
}
}
东西

主要摘自这句话:对这句话有一些好的评论

对不起,我听不懂你的最后一句话。你想达到什么目标?你不想进入overview.php吗?adrnr=ADDRESS\u NR\u在这里?让onClick对每个td元素都是本地的会缓解你的问题吗?我想当我点击一个td时进入overview.php,但是td中有but,是的,放置一个本地onClick元素可以解决我的问题,但是因为我有大约10个这样的元素,我认为可能会有一个排除一个td的方法,而不是将它们全部分开。对不起,我不明白你的最后一句话。你想达到什么目标?你不想进入overview.php吗?adrnr=ADDRESS\u NR\u在这里?让onClick对每个td元素都是本地的会缓解你的问题吗?我想当我点击一个td时进入overview.php,但是td中有but,是的,放置一个本地onClick元素可以解决我的问题,但是因为我有大约10个这样的元素,我认为可能会有一个排除一个td的方法,而不是将它们全部分开