在上传对话框中检测打开按钮

时间:2016-03-28 07:30:18

标签: javascript jquery file-upload

有没有办法检测上传对话框中的打开按钮是使用javascript或查询点击的?this button

更新: 我将向您展示我的示例代码:

<input type = "file" name = "imgUpload" id = "trngImgUpload" style = "display : none;" multiple>
<button class="btnTools" onclick = "trngOpenVidUploadDialog()" ><img src ="@Url.Content("~/Images/video_icon.jpg")" class ="img3"/></button>
<script>
function trngOpenVidUploadDialog() {
        //$('#modalMatchingTypePairType').modal('hide');
        //console.log(123);
        $('#trngImgUpload').trigger("click");

    };
    $('input[type=file]').change(function () {
        if (this.files) {
            alert('changed');
            var path = sendVidFile($('#trngImgUpload')[0].files[0], 1);
            $('#page' + currId).append('<div class = "vidDR" id = "tTool' + (toolIdCounter) + '"><div class = "del"></div><embed autostart="false" class = "vid" src="' + path + '"></embed></div>');
            $('.vidDR').resizable({
                containment: '#page' + currId
            }).draggable({
                containment: '#page' + currId
            });
            $(".vidDR").click(function () {
                alert(1);
            });
            $('#trngImgUpload').val("");
            $('#tTool' + toolIdCounter).contextmenu(function () {
                $(this).remove();
            });
            toolIdCounter++;
        }
    });
</script>

我已经尝试过使用更改事件,但没有任何反应。我的代码中不知道什么是错的。

2 个答案:

答案 0 :(得分:1)

没有!这是不可能的。

但是如果您想关注输入type=file,那么您可能希望在输入上使用change()事件。

检查代码段:

&#13;
&#13;
$('input[type=file]').change(function() {
  if (this.files) {
    $('pre').html('Files selected. (open clicked.)');
  }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file" name="imgUpload" id="trngImgUpload" style="display : none;" multiple>
<button class="btnTools" onclick="trngOpenVidUploadDialog()">
  <img src="https://cdn3.iconfinder.com/data/icons/ilb/Perspective%20Button%20-%20Windows.png" class="img3" />
</button>
<script>
  function trngOpenVidUploadDialog() {
    //$('#modalMatchingTypePairType').modal('hide');
    //console.log(123);
    $('#trngImgUpload').trigger("click");

  };
  $('input[type=file]').change(function() {
    if (this.files) {
      alert('changed');
    }
  });
</script>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您无法捕捉&#39;打开&#39;按钮,但您可以捕获对文件输入的更改的操作。例如。当用户使用文件输入选择新文件时。

示例如下:

&#13;
&#13;
// input on change event listener
$('#file-upload').on('change', function() {
  alert('File Attached: ' + $('#file-upload').val());
});
&#13;
<!-- jQuery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!-- file upload input -->
<input type="file" id="file-upload">
&#13;
&#13;
&#13;

希望这有帮助。