所以我有一個X行的表格。我有以下的HTML代碼:Onclick沒有在對象上觸發
<tr id='row1' onClick="FormTRClick('1')"><td><a href='#'>Bla</a></td></tr>
<tr id='row2' onClick="FormTRClick('2')"><td><a href='#'>Bla</a></td></tr>
<tr id='row3' onClick="FormTRClick('3')"><td><a href='#'>Bla</a></td></tr>
<tr id='row4' onClick="FormTRClick('4')"><td><a href='#'>Bla</a></td></tr>
現在,當你點擊超鏈接「布拉」你會也激活onclick事件。有沒有辦法只觸發OnClick事件,當你不點擊一個對象(如按鈕,圖像,HREF),但只有在錶行本身?
我FormTRClick()函數看起來如下:
function FormTRClick(ctrl) {
if (document.getElementById('chk' + ctrl).checked == true) {
document.getElementById('chk' + ctrl).checked = false;
} else {
document.getElementById('chk' + ctrl).checked = true;
}
}
我知道我還可以使用逆document.getElementById('chk' + ctrl).checked = !document.getElementById('chk' + ctrl).checked
但是這不是重點,我有額外的代碼在那裏。
感謝
謝謝。如果event.target.tagName是TD,我已經改變了部分。作品最好! – Devator
我剛剛發現它在IE中不起作用,我得到以下錯誤: ''target.tagName'爲空或不是對象'。我試過使用nodeName而不是tagName,但無濟於事。 – Devator
問題不在於'tagName'。這是IE瀏覽器不做'目標'。爲IE使用'event.srcElement'。 http://msdn.microsoft.com/en-us/library/ms534638(v=vs.85).aspx –