Javascript 在chrome中缓存dom元素
我创建了一个上传内容的模块。它基本上是由文件api完成的Javascript 在chrome中缓存dom元素,javascript,jquery,google-chrome,Javascript,Jquery,Google Chrome,我创建了一个上传内容的模块。它基本上是由文件api完成的 <input type="file" id="filepicker-input" multiple="true" style="display:none;"/> <div class="addfile_btndiv" id="addfile_btndiv"> <span id="direct-upload-text"><input name="" class="add
<input type="file" id="filepicker-input" multiple="true" style="display:none;"/>
<div class="addfile_btndiv" id="addfile_btndiv">
<span id="direct-upload-text"><input name="" class="add_filebtn" type="button" value="Add Files" /></span>
</div>
<div id="dropped-files">
</div>
<div class="clear"></div>
</div>
html代码是
<input type="file" id="filepicker-input" multiple="true" style="display:none;"/>
<div class="addfile_btndiv" id="addfile_btndiv">
<span id="direct-upload-text"><input name="" class="add_filebtn" type="button" value="Add Files" /></span>
</div>
<div id="dropped-files">
</div>
<div class="clear"></div>
</div>
上传工作正常。我的问题是这个上传有一个取消按钮。我通过一些javascript代码来管理这一点,但当用户可以重新选择同一个文件后,将不会触发“onchange”。所以我在cancel按钮中添加了一个新的逻辑,删除当前的输入类型并放置一个新的输入类型。代码是
<input type="file" id="filepicker-input" multiple="true" style="display:none;"/>
<div class="addfile_btndiv" id="addfile_btndiv">
<span id="direct-upload-text"><input name="" class="add_filebtn" type="button" value="Add Files" /></span>
</div>
<div id="dropped-files">
</div>
<div class="clear"></div>
</div>
$('#filepicker-input').attr("id", "newID");
var foo = document.getElementById("blk_switchbox1");
var olddiv = document.getElementById("newID");
foo.removeChild(olddiv);
var element = document.createElement("input");
element.setAttribute("type", "file");
element.setAttribute("id", "filepicker-input");
element.setAttribute("class", "nodisplay");
foo.appendChild(element);
这在mozila很管用。但不是镀铬的。在chrome中,dom元素有任何兑现功能。请帮助我您是否尝试手动触发更改事件?而不是它的点击事件
<input type="file" id="filepicker-input" multiple="true" style="display:none;"/>
<div class="addfile_btndiv" id="addfile_btndiv">
<span id="direct-upload-text"><input name="" class="add_filebtn" type="button" value="Add Files" /></span>
</div>
<div id="dropped-files">
</div>
<div class="clear"></div>
</div>
document.getElementById("direct-upload-text").onclick = function(e){
if(fileInput.value != '') {
fileInput.change();
} else {
fileInput.click();
}
}