Javascript 如何确定是否已单击文件输入?

Javascript 如何确定是否已单击文件输入?,javascript,angularjs,Javascript,Angularjs,我有一个脚本,它将触发文件上载表单的单击事件。我想能够确定的文件上传按钮已被点击。以下是我所拥有的: <div ng-click="uploadFile()">Click Me</div> <input name="uploader" type="file" style="display:none;"> var uploadFile = function () { var interval = setInterval(function () {

我有一个脚本,它将触发文件上载表单的单击事件。我想能够确定的文件上传按钮已被点击。以下是我所拥有的:

<div ng-click="uploadFile()">Click Me</div>
<input name="uploader" type="file" style="display:none;">

var uploadFile = function () {
    var interval = setInterval(function () {
        $('input[name=uploader]').trigger('click');
            clearInterval(interval);
    }, 50);
}

您真的需要第一次单击,还是只想知道用户何时选择了他们的文件?否则,您可以签出onchange而不是onclick

您可以创建一个全局变量/布尔值,在用户单击按钮时打开和关闭该变量/布尔值,如果用户再次单击按钮,则可以检查布尔值是否为false

Put
var hasUploaderBeenTriggered=false
在javascript的最顶端,然后添加
hasUploaderBeenTriggered=true
清除间隔(间隔)像这样:

var hasUploaderBeenTriggered = false;

var interval = setInterval(function () {
    if(hasUploaderBeenTriggered === false) { // not sure how to do this part
        $('input[name=uploader]').trigger('click');
        clearInterval(interval);
        hasUploaderBeenTriggered = true;
    }
}, 50);

是的,我需要第一次点击。实际的
输入
字段对用户是隐藏的。好吧,让
hasUploaderBeenTriggered
成为布尔值怎么样。Put
var hasUploaderBeenTriggered=false
在javascript的最顶端,然后添加
hasUploaderBeenTriggered=true
清除间隔(间隔)
var hasUploaderBeenTriggered = false;

var interval = setInterval(function () {
    if(hasUploaderBeenTriggered === false) { // not sure how to do this part
        $('input[name=uploader]').trigger('click');
        clearInterval(interval);
        hasUploaderBeenTriggered = true;
    }
}, 50);