我有一个Ajax调用,如下所示:
c_char_p
成功后,我想点击id#file-upload的元素来启动文件选择对话框,但是将代码置于成功函数中无法正常工作。它适用于任何其他地方Ajax成功函数的范围有什么特别之处吗?我真的无法弄清楚这一点。
由于
答案 0 :(得分:1)
从ajax成功回调中对任何普通元素(包括按钮)发出click
都没有任何问题。
问题是文件输入对话框不是“普通元素”。它有一些特定的安全限制 - 其中一个明显限制了您与它的交互。
以下小提琴演示了这一点:https://jsfiddle.net/qhfwobpz/
您会看到在click
上发出file-upload
直接无效。从ajax回调中执行它会看到调用回调,但文件对话框从不显示。
This answer提供了有关“为什么”的更多详细信息,归结为您可以从用户发出的事件打开对话框,但不能完全以编程方式打开。