gpt4 book ai didi

javascript - qq.FileUploader 在 AJAX 弹出窗口中加载时不起作用

转载 作者:行者123 更新时间:2023-11-29 15:48:04 29 4
gpt4 key购买 nike

所以我得到了一个使用 AJAX 动态加载的对话框,在那个框中,我有一个文件输入被 Valums qq.FileUploader 替换。加载内容后,我确实在 FileUploader 上调用了 init,我的输入框被 FileUploader 正确替换了。

正如您在下图中所见,输入被所有内容所取代,新的“隐藏”输入就在那里。问题是我无法点击它。但是,我可以正确拖放文件。因此,上传仍然有效,但只能拖放。这已经在 Windows 上使用 Chrome 和 Firefox 进行了测试。

Image of dialog with input replaced

参见 Valums qq.FileUploader doesn't work when it's initialized after loading button by ajax

编辑:对话框代码不是 jQuery UI,它是自定义代码,基本上,我在打开对话框时触发了一个事件,我被绑定(bind)到这个事件上以执行 FileUploader 代码。

编辑 2:所以我尝试在弹出窗口后使用 1 秒的超时来执行 FileUploader 代码,但仍然没有成功。还尝试使用 z-indexes,但不行。

编辑 3:几周后它仍然无法正常工作。我似乎无法找到这个问题的原因。这里有两张图片说明了“隐藏”文件上传的位置(红色)。而且它在外部有效,但在对话框内部无效。

这是一个对话框,它工作得很好:

This is outside a dialog, and works

这是完全相同的形式,但是一个对话框中,但这不起作用:

Same exact form, inside a dialog, doesn't work

编辑 4:只需使用我的代码设置一个 JSFiddle:http://jsfiddle.net/G5qP6/6/

但是,如您所见,它在 JSFiddle 中工作得很好,这让我想知道,为什么它在我的应用程序中不起作用。

最佳答案

据我了解 - 您不能单击上传按钮,但可以拖放。

如果是这样的话,这似乎是一个 CSS 问题。可能一个元素与您的上传按钮重叠,因此您实际上是在点击另一个元素。尝试通过设置边框和背景颜色进行调试。如果上传按钮被重叠,您将看到哪个元素与其重叠。

我想到的另一件事是更改调用 Upload.initializeUploads(); 的位置。
我会在你完成 $('body').append(this.element); 之后立即将其放入 Dialog.init()

fiddle 中的示例在我的 Firefox 10、Chrome 16、IE 8 和 Opera 10(某些)上运行良好。我的建议也适用于相同的浏览器。

您的原始代码:http://tmp.itnews-bg.com/jValdron/
我改变了什么:http://tmp.itnews-bg.com/jValdron/index-2.html

关于javascript - qq.FileUploader 在 AJAX 弹出窗口中加载时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8758631/

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