在Ajax调用成功后,JQuery调用无法正常工作

时间:2017-07-04 16:01:06

标签: javascript ajax

我有一个Ajax调用,如下所示:

c_char_p

成功后,我想点击id#file-upload的元素来启动文件选择对话框,但是将代码置于成功函数中无法正常工作。它适用于任何其他地方Ajax成功函数的范围有什么特别之处吗?我真的无法弄清楚这一点。

由于

1 个答案:

答案 0 :(得分:1)

从ajax成功回调中对任何普通元素(包括按钮)发出click都没有任何问题。

问题是文件输入对话框不是“普通元素”。它有一些特定的安全限制 - 其中一个明显限制了您与它的交互。

以下小提琴演示了这一点:https://jsfiddle.net/qhfwobpz/

您会看到在click上发出file-upload直接无效。从ajax回调中执行它会看到调用回调,但文件对话框从不显示。

This answer提供了有关“为什么”的更多详细信息,归结为您可以从用户发出的事件打开对话框,但不能完全以编程方式打开。