我有一个html表格,当用户点击一个表格行时,该行的复选框被选中,并且会发生一些其他功能。当用户点击选择或输入时,我想停止传播,因此复选框不会更改。我已经证明我在这的jsfiddle寻找功能:停止在输入传播点击
http://jsfiddle.net/ehf7pc3f/6/
在我开发的网站,当用户点击一个选择,该复选框被改变(如预期),但如果用户点击输入,该复选框不会更改。我有这样的代码来更改停止复选框:
$("select").click(function (e) {
e.stopPropagation();
});
$("input").click(function (e) {
e.stopPropagation();
});
没有人有一个想法,为什么选择点击的作品,但输入点击不?
更新*
的jsfiddle:http://jsfiddle.net/ehf7pc3f/8/
我添加了一个新的jsfiddle将触发点击输入时,警报和警报单击某一行的时候。在小提琴中,如果我点击输入,只有输入警报触发。如果我在我的开发站点上进行相同的测试,则只会触发行警报。
这里是我的网站发展的实际代码:
<table class="full-width row-table" style="table-layout:fixed;">
<tr style="background:none;" class="no-hover row">
<td class="no-padding" style="width:16px;"><input class="check-box" style="margin:2px 0px;" type="checkbox" /></td>
<td class="no-padding" style="width:6px;"><span class="arrow2" style="margin:6px 0px 0px 0px;"></span></td>
<td style="width:94px;">
<span class="contact-label">Owner <br /> </span>
<select class="contact-drop-down hidden">
<option value="Owner">Owner</option>
<option value="Applicant">Applicant</option>
<option value="Contractor">Contractor</option>
</select>
</td>
<td style="width:95px;">
<p class="title-label">Owner</p>
</td>
<td style="width:119px;">
<p class="name-label">Michael Douglas</p>
</td>
</tr>
</table>
正确对我的作品在FF,你使用的浏览器? – Deleteman 2014-12-02 19:02:09
并且在Chrome中正常工作... – epascarello 2014-12-02 19:03:04
stopPropogation旨在阻止正常功能(即锚点将导航到href地址)。这不会阻止通过某种形式的jquery事件处理添加的其他代码。 – rfornal 2014-12-02 19:04:37