如何禁用onclick事件

时间:2011-01-18 14:33:11

标签: javascript events html-table onclick

如何禁用onclick事件?
我已经尝试了onclick="this.disabled=true;",但它不起作用。

这是一个HTML表格:

<table>
  <tr>
     <td onclick="parent.location='home.php'">Available</td>
     <td onclick="parent.location='home.php'">Available</td>
  </tr>
  <tr>
     <td onclick="parent.location='home.php'"><div onclick="this.disabled=true;">Booked</div></td>
     <td onclick="parent.location='home.php'">Available</td>
  </tr>
</table>

使用上面的代码,它仍然会转到home.php,即使我点击标记为“Booked”的表格单元格。

3 个答案:

答案 0 :(得分:8)

你需要阻止事件向上冒泡..最简单的方法:

<div onclick="event.cancelBubble = true;">Booked</div>

成功测试了IE8,Chrome和Firefox。

答案 1 :(得分:2)

你应该用一个返回 false 的函数覆盖onclick(如:“点击被消耗”)。所以你要做像

这样的事情
 onclick="return false;"

等待。我的意思是 false :)

答案 2 :(得分:0)

就我个人而言,我认为最好将TD的“onclick”关闭并放在其中的div上(类似于你预订的方式)。然后你可以在你的PHP逻辑中决定是否在div上放置'onclick'或者将其关闭(你不需要尝试覆盖它)。