gpt4 book ai didi

javascript - Jquery UI 对话框中的 PlUpload 无法单击以添加文件

转载 作者:行者123 更新时间:2023-11-29 18:22:42 27 4
gpt4 key购买 nike

我有一个在 jQueryUI 模态对话框中启动的 PLUpload。在对话框中启动后,PlUpload 的拖放功能仍然有效,但单击以启动文件浏览器无效。

以下代码的 JsFiddle。 JsFiddle 包括我的应用程序正在使用的 jQuery 和 jQuery UI 版本: 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 &amp; 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:

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

我添加了行

uploader.refresh();

点击处理程序,修复了 IE10,但 Chrome 仍然拒绝合作。甚至输入 uploader.refresh();进入 Chrome 的控制台不会使上传者的浏览功能恢复生机...

编辑:删除一些不需要重现问题并使其更难阅读的行。

最佳答案

我有同样的问题,并且有一个调整。当您使用 HTML5 作为上传引擎时会发生这种情况,因此要解决您需要添加样式的技巧:

.plupload{ z-index : 99999; }

或者如果您更喜欢即时....

$("div.plupload").css({"z-index":99999});

这应该可以解决您的问题。

另一件事是你在创建窗口之前销毁了 uploader ,所以它不会工作。如果你想在对话框中执行 pluploader,我建议你使用参数 open ,因此当对话框初始化时,它会在其上运行 pluploader 的行为。

关于javascript - Jquery UI 对话框中的 PlUpload 无法单击以添加文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16845991/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com