我有一個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