Javascript 如何捕获“文件选定”事件?

Javascript 如何捕获“文件选定”事件?,javascript,angularjs,file-upload,Javascript,Angularjs,File Upload,我的计算机中有以下对话框: 当用户按下添加徽标按钮时,应发生以下情况: 应弹出一个文件选择对话框。 用户选择文件后,应调用一个函数来更新图像。 我有下面的代码。所选文件的格式如下所示: <button class="btn" ng-click="$ctrl.addLogo()">Add logo</button> 当我按下添加徽标按钮时,文件选择对话框确实会打开,但控制台中不会显示名为“单击回调”的消息。这意味着,当用户选择文件或使用“取消”关闭对话框时,我无法检测到

我的计算机中有以下对话框:

当用户按下添加徽标按钮时,应发生以下情况:

应弹出一个文件选择对话框。 用户选择文件后,应调用一个函数来更新图像。 我有下面的代码。所选文件的格式如下所示:

<button class="btn" ng-click="$ctrl.addLogo()">Add logo</button>
当我按下添加徽标按钮时,文件选择对话框确实会打开,但控制台中不会显示名为“单击回调”的消息。这意味着,当用户选择文件或使用“取消”关闭对话框时,我无法检测到


如何实现对用户选择文件或取消对话框的反应

当用户在type=file的输入中选择文件时,触发的是更改事件

如果您将单击侦听器替换为更改侦听器,它应该可以工作:

fileInput.click(function() {
    console.log("Click callback called");
});
必须成为:

fileInput.change(function() {
    console.log("Click callback called");
});

我认为您必须对文件输入使用onchange事件,而不是onclick,这应该可以完成这项工作;我想这对你有帮助。或者您可以创建一个指令。我创建了类似于watch file changes@sjahan的东西,谢谢。你的评论很有帮助。如果你把它作为答复提交,我会接受的。
fileInput.change(function() {
    console.log("Click callback called");
});