如何将复选框onclick事件传递给父onclick?

时间:2010-05-03 10:34:20

标签: javascript html javascript-events

我带着一个onclick事件,并且在里面。
当我点击复选框时,div-onclick事件不会触发 - 我希望它能够触发,而不必将onclick复制到复选框上。

<div id="id-tag" onclick="do()">
  <span>text</span>
  <img src="pic.jpg" />
  <input type="checkbox" name="mycheck" />
</div>

我知道div-idtag,但理想情况下我希望避免在复选框中指定它 使用复选框onclick上的另一个函数调用来调用父级不是我想要的,比如

onclick="run_parent_onclick()"

但这没关系(未经测试)

onclick="this.parent.click()"

2 个答案:

答案 0 :(得分:1)

使用addEventListener:

function do(e) { ... }
document.getElementById('id-tag').addEventListener('click', do, true);

“true”使事件捕获。

答案 1 :(得分:1)

您可以在输入的onclick中手动触发div的click事件:

<input type="checkbox" name="mycheck" onclick="this.parentNode.click()" />

<input type="checkbox" name="mycheck" onclick="document.getElementById('id-tag').click()" />