下面的代碼在FF但不是在IE9:使用JavaScript來改變<label>元素的style.color失敗
// turn on the 'image file upload' field and its label
document.getElementById('itemImageId').disabled = false;
document.getElementById('labelForImageUploadID').style.color = "black";
這裏是標籤和文件輸入HTML:
<label for="itemImageId" style="color: silver" id="labelForImageUploadID">Item image
(select to change the item's current image)</label>
<input type="file" size="100px" id="itemImageId" disabled="disabled"
name="theFileUpload"></input>
**編輯**上面的標籤和文件上傳標籤嵌套在以下div - 我添加了這個,所以你可以看到如何處理鼠標點擊。該handleRowClick()函數具有上述試圖打開文本黑色的Javascript代碼:
<div class="itemlistRowContainer" id="topmostDiv_ID" onclick="handleRowClick(this);"
onmouseover="handleMouseOver(this);" onmouseout="handleMouseOut(this);"
ondblclick="handleDblClick(this);">
所以,當這個標籤第一次出現在頁面上,它的顏色是正確的 - 這是銀由於內嵌顏色樣式。
然後,上面的JavaScript代碼執行鼠標點擊。
在Firefox中,Javascript代碼將標籤文本變爲黑色,並啓用文件上傳控制。
但是在IE9中,標籤的文字保持灰色。
是否IE9不支持style.color = 「somecolor」動態控制標籤標籤的顏色?
我看了其他一些帖子,我發現唯一的怪癖是,如果您啓用/禁用 動態發生,以確保該標記在IE9中啓用,然後再嘗試更改其顏色。
這不是一個因素,因爲代碼從不禁用標籤標籤。
這不只是這一個標籤標籤要麼 - 所有標籤在頁面上標記無法 變黑,但只有在IE9 - 在FF一切正常。
是否有'缺陷'或我失蹤的詭計?
如何綁定click事件? – AlienWebguy 2012-04-22 03:26:31
對不起,我花了一段時間 - 我在上面的代碼中添加了鼠標點擊處理程序。 – wantTheBest 2012-04-22 04:00:17
似乎正常工作:http://jsfiddle.net/pP3dd/。頁面中可能還有其他內容正在發生。 – 2012-04-22 07:08:49