Javascript 重新加载函数会导致onclick处理程序停止工作
所以我有以下几点Javascript 重新加载函数会导致onclick处理程序停止工作,javascript,jquery,html,file-upload,Javascript,Jquery,Html,File Upload,所以我有以下几点 <form id="uploadControls"> <input type="file" id="browseFiles"> <input type="button" id="startUpload" value="Upload"> <input type="checkbox" id="overwrite"> </form> 现在,如果有人选中复选框以允许文件覆盖以前的现有文件(保存时不带时
<form id="uploadControls">
<input type="file" id="browseFiles">
<input type="button" id="startUpload" value="Upload">
<input type="checkbox" id="overwrite">
</form>
现在,如果有人选中复选框以允许文件覆盖以前的现有文件(保存时不带时间戳),我需要更新resumable对象中的query
参数,唯一的方法是重新加载resumableUpload()
。问题是,当电话是这样打的:
$("#overwrite").on('click',resumableUpload);
然后所有的onclick
处理程序停止响应
我尝试了以下方法:
$("#overwrite").on('click',function(){
$("#uploadControls").each(function(){
this.reset();
});
startResumable();
});
但这似乎不起作用
我做得不对的是什么?使用Resubable.js库将文件选择器绑定到一个
,这很好,但在Firefox上不起作用,因此我需要一个更好的解决方案。尝试使用委派:
$("#uploadControls").on('click','#overwrite',function(){...});
顺便说一句:
应该是:
$(document).live("click","#startUpload",function(){...});
LIVE不推荐使用:
从jQuery1.7开始,不推荐使用.live()方法。使用.on()来
附加事件处理程序。jQuery旧版本的用户应使用
.delegate()优先于.live()
$("#startUpload").live("click",function(){...});
$(document).live("click","#startUpload",function(){...});