我有以下this html代碼。關於禁用onclick事件只有在點擊文本時才起作用,但在td中點擊其他區域時不起作用(ie10,即ie11問題)
<table border="1" style="width:100%">
<tr> <th>Col</th></tr>
<tr><td onclick="alert('1');" disabled="disabled"><label>One<br></label></td></tr>
<tr><td onclick="alert('2');" disabled="disabled"><label>Two<br></label></td></tr>
<tr><td onclick="alert('3');" disabled="disabled"><label><br></label></td></tr>
</table>
上面的代碼在Chrome和微軟邊緣意味着它顯示了一下TD標籤內的任意位置在所有3個TDS警報。
但是在IE10中,只有當td包含一些數據時才起作用,就像上面的代碼一樣,第三行不給出警報,對於其他tds,它只在我們點擊文本時才起作用,而不是點擊td以外的任何其他區域文本。
此代碼在我的大型應用程序的一部分。 我只想知道這是IE中的一個已知錯誤,如果是的話,任何人都可以爲我提供該錯誤的鏈接。
或者我錯過了導致問題的代碼。由於它是大型應用程序的一部分,我希望添加更少的代碼,以便它不會影響其他應用程序。
任何幫助,將不勝感激
您使用舊的設計模式....你想達到什麼目的?可以在表格中排列列嗎?改用或按鈕。表格和單元格是表示元素。 a和按鈕是動作元素。你應該將行動事件綁定給他們。 –
你沒有提到什麼可以改變,什麼不在代碼中。什麼IE確實是有道理的:你已經禁用了td,因此沒有註冊鼠標操作。當您刪除禁用的屬性時,點擊也適用於整個td的IE。當這可以在html中更改(我想知道禁用的原因)時,顯然可以在頁面加載後使用Javascript來完成。併成爲一個好孩子,並在那裏添加事件處理程序;-) – msoft
請在您的問題中添加一些信息,以瞭解您可以*做些什麼。你在其他評論中提到你不能刪除殘疾人。是否需要其他代碼,或者可以通過Javascript加載頁面時將其刪除。如果是的話,你可以添加一個id或類到這個表,所以Javascript可以找到它?我猜想沒有jQuery,因爲它是舊代碼。 – msoft