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(){...});