簡體   English   中英

遞歸單擊同一元素的問題

[英]Issue with recursive click on same element

僅在同一元素上遞歸調用 onclick 兩次,但單擊操作不遵循默認操作,想法是當用戶單擊<input />它不應該彈出文件資源管理器,而是首先執行一些異步任務,然后在沒有用戶的情況下調用單擊操作手勢,這反過來打開文件資源管理器。

示例問題

https://jsbin.com/zuzinen/edit?html,js,console,output

<body>
  <input id="inp" type="file" />
</body>


var clicked = false;

function takePermission(cb) {
  setTimeout(function() {
      clicked = true;
      cb();
    }, 2000);
}

function handleClick(e) {
  console.log(clicked)
  if (!clicked) {
    e.preventDefault();
    takePermission(function() {
      document.getElementById('inp').click();
    });

  }
}

document.getElementById('inp').onclick = handleClick;

在您將 clicked 指定為 true 的第一次點擊之后,這意味着您的 if 語句不會觸發。

因此,在第一個之后不再調用 click() 。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM