我有我的jQueryUI的模態對話框正在推出PLUpload。在對話框中啓動後,PlUpload的拖放仍然有效,但點擊啓動文件瀏覽器不會。PlUpload在jQuery UI的對話框無法點擊添加文件
JsFiddle下面的代碼。該的jsfiddle包括我的應用程序使用jQuery和jQuery UI的版本:我添加
$(function() {
$('#add-file-link').click(function() {
$('#AddFilePopup').dialog({
modal: true,
width: 600
});
uploader.refresh(); //this fixes IE10 not being able to click to add files
return false;
});
initPlUpload();
});
function initPlUpload() {
uploader = new plupload.Uploader({
runtimes: 'html5',
drop_element: 'drop-target',
browse_button: 'drop-target',
max_file_size: '4mb',
upload: "upload.php"
});
uploader.bind('Init', function (up, params) {
if (uploader.features.dragdrop) {
$('#plupload-nohtml5').hide();
};
});
uploader.bind('FilesAdded', function (up, files) {
for (var i in files) {
$('#plupload-filelist').append('<div id="' + files[i].id + '">- ' + files[i].name + ' - ' + files[i].id + ' (' + plupload.formatSize(files[i].size) + ')</div>');
}
});
uploader.init();
}
: http://jsfiddle.net/QqPLV/1/
HTML:
<a href="#" id="add-file-link">Open Uploader As Dialog</a>
<div id="AddFilePopup" title="Add A File">
<div id="drop-target">After opening in a dialog clicking here does nothing, but drag and drop in Chrome still works...</div>
<div id="plupload-nohtml5">No runtime found, your browser doesn't support HTML5 drag & drop upload.</div>
<div id="plupload-filelist"></div>
</div>
CSS:
#drop-target {
border: 3px dashed #CCC;
text-align: center;
color: #999;
font-size: 16px;
padding : 50px;
cursor: pointer;
}
#debug {
margin-top: 20px;
}
#plupload-debug {
border : 1px Solid #600;
padding : 5px;
margin : 5px;
}
的Javascript該行
uploader.refresh();
到單擊處理程序,以及固定IE10,而Chrome仍然拒絕合作。即使輸入uploader.refresh();到Chrome的控制檯不會帶來上傳的瀏覽功能起死回生......
編輯:若要刪除不要求重現該問題,並使其難以閱讀一些行。
你可能已經注意到了這一點:在設置對話框選項模態時,問題就會消失:假的問題可能是在對話框中處理其覆蓋的方式。對不起,我不能有更多的幫助 – jbl
不,我沒有注意到。彈出窗口肯定需要處於模態狀態,所以我認爲我沒有嘗試過它......但也許如果沒有人知道解決方案,我可以以非模態形式啓動,然後切換到模型(我有懷疑甚至可能)。我們拭目以待。感謝您的線索。必須與阻止點擊的模式覆蓋物有關嗎? – FirstDivision
是的,我認爲疊加與plupload構建其佈局的方式相互作用,導致點擊受阻。 – jbl