Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JavaScript取消选择按钮_Javascript_Html_Onclick - Fatal编程技术网

如何使用JavaScript取消选择按钮

如何使用JavaScript取消选择按钮,javascript,html,onclick,Javascript,Html,Onclick,我有一个按钮,用户应该点击它来上传文件: window.URL = window.URL || window.webkitURL; var button = document.getElementById("button"), fileElem = document.getElementById("fileElem"), fileList = document.getElementById("fileList"); button.addEventListener("click

我有一个按钮,用户应该点击它来上传文件:

window.URL = window.URL || window.webkitURL;

var button = document.getElementById("button"),
    fileElem = document.getElementById("fileElem"),
    fileList = document.getElementById("fileList");

button.addEventListener("click", function (e) {
  if (fileElem) {
    fileElem.click();
  }
  e.preventDefault();
}, false);

function handleFiles(files) {
  if (!files.length) {
    fileList.innerHTML = "<p>No files selected!</p>";
  } else {
    fileList.innerHTML = "";
    for (var i = 0; i < files.length; i++) {
      var videoFile = document.createElement("video");
      videoFile.setAttribute("id", "recording");
      videoFile.src = window.URL.createObjectURL(files[i]);
      videoFile.height = 240;
      videoFile.width = 320;
      videoFile.setAttribute("controls", true);
      videoFile.onload = function() {
        window.URL.revokeObjectURL(this.src);
      }
      fileList.appendChild(videoFile);
    }
  }
}
这个点击应该是模拟用户在屏幕上的点击,但它不起作用,因为当按下空格键时,按钮被点击

有什么建议可以解决这个问题吗? 谢谢您

使用HTMLElement.blur应该会达到预期效果


这将在单击后删除元素的焦点。

这是因为在单击按钮后,元素仍处于焦点状态,因此要解决该行为,可以在单击结束事件中使用

模糊方法用于从当前元素中移除键盘焦点


希望这有帮助。

您也可以将css添加到按钮指针事件中

要禁用按钮:$buttonId.csspointer-events,无

要重新激活按钮:$buttonId.csspointer-events,auto

。。。。看起来有点帮助
document.getElementById("spanElement").click();
button.addEventListener("click", function (e) {
  if (fileElem) {
    fileElem.click();
  }
  e.preventDefault();
  e.target.blur();
}, false);
button.addEventListener("click", function (e) {
    if (fileElem) {
      fileElem.click();
    }

    e.target.blur(); //Remove focus after click
    e.preventDefault();
}, false);