簡體   English   中英

標簽未在IE8中找到動態創建的元素

[英]Label not finding dynamically created element in IE8

在網頁上,我有一個javascript函數,該函數添加具有以下層次結構的div:

 <div style="display:inline-block;overflow:hidden;"> <label for="myInput" style="display: inline-block; max-width: 300px;"> <button disabled style="pointer-events:none;" >Browse to file</button> <p style="display:inline">ends up being file name</p> <img/> <input id="myInput" type="file" style="width:0px;"/> </label> </div> 

這個想法是,單擊標簽中的任何內容都會觸發文件輸入,這在IE8以外的任何地方都有效。

在IE8中,動態創建的標簽不會觸發文件輸入,我注意到,如果我將動態創建的標簽的'for'屬性更改為指向不是動態創建的文件輸入,它將正常工作。

看來標簽找不到動態創建的文件輸入。

問題:-如何獲取標簽以查看動態創建的文件輸入? -有沒有一種刷新DOM的方法,以允許標簽看到文件輸入?

注意:如果您使用IE11的“仿真”模式進行測試,則可以使用,但在真正的IE8瀏覽器中,則無法使用

我不知道為什么,但是當您使用.innerHTML填充label元素時,似乎IE8啟用了預期的行為。 可能還有其他更好的黑客可以避免HTML操縱,但這可以作為一個捷徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM