我正在开发一个使用 plUpload 库的项目。
在我使用 plUpload 上传文件后,页面上的所有其他 jQuery 事件都停止工作(包括我的下拉菜单、DataTables 和其他一些带有 的元素.live("click"
)。
我花了很多时间在 Chrome 控制台中单步执行脚本,但没有发现任何会导致问题的东西。
我认为整个代码在这里发布太多了,所以我正在寻找关于什么会导致这样的事情或在哪里放置断点以帮助解决它的建议。
编辑:根据下面的建议/答案,这是有问题的代码:
uploader.bind('FileUploaded', function(up, file, response) {
uploadSuccess(file, response.response);
});
function uploadSuccess(fileObj, serverData) {
var item = jQuery('#upload-item-' + fileObj.id);
// on success serverData should be numeric, fix bug in html4 runtime returning the serverData wrapped in a <pre> tag
serverData = serverData.replace(/^<pre>(\d+)<\/pre>$/, '$1');
if ( serverData.match(/upload-error|error-div/) ) {
item.html(serverData);
return;
} else {
jQuery('.progress', item).hide();
jQuery('.closebtn', item).show();
}
[...]
}
serverData
被包裹在一个皮肤中,其中包括一个新的实例化调用jQuery
。一旦我去除了皮肤,它就可以正常工作。