【问题标题】:How to store answer from prompt and use it?如何存储提示中的答案并使用它?
【发布时间】:2021-08-15 18:55:43
【问题描述】:

我想创建一个自动注销脚本,它会提示您输入任何键。该键将是被侦听的键,因此当按下该键时,代码会激发单击注销按钮的单击。这个脚本是从 Tampermonkey 运行的。下面的代码是我迄今为止尝试过但不起作用的代码。

const logkey = document.getElementById("logoutButton")

function logout() {
logkey.click()
    logkey.submit()
};

document.addEventListener("keypress", function(event) {
  if (event.keyCode == key) {
    logkey.click()
      logkey.submit()
      logout()
  }
});


    <button id="loginButton" type="button" class="auth-btn btn btn-lg" data-toggle="modal" data-target="#loginModal">Login</button>
    <button id="registerButton" type="button" class="auth-btn btn btn-lg" data-toggle="modal" data-target="#registerModal">Register</button>
    <button id="logoutButton" type="button" class="auth-btn btn btn-lg" style="display:none" onclick="logout()">Logout</button>

编辑:我考虑过在单击提示问题中的键时调用注销功能,如果可能的话,您将如何继续这样做?

const key = prompt("Type in any key on your keyboard. This will be the key that will be used to logout")


document.addEventListener("keypress", function(event) {
  if (event.keyCode == key) {

      logout()

  }
});



【问题讨论】:

  • 注销按钮没有做什么?不再打电话给听众?你能显示更多的代码吗?比如为什么需要点击按钮而不是只调用监听器中的函数
  • 注销按钮正在让您退出您的帐户,因此它只会显示登录和注册。如果它在网页内部,您将如何调用该函数?这可能吗?

标签: javascript html keypress prompt tampermonkey


【解决方案1】:

事件监听器在函数logout() 中注册。这意味着在调用一次logout 之前,事件侦听器不会执行。注册事件监听器的唯一方法是点击按钮,这是不可见的。

function logout() {
  document.addEventListener("keypress", function(event) {
    if (event.keyCode == key) {
      logkey.click()
    }
  });
};

事件监听器需要在函数logout()之外执行,像这样:

function logout() {
  // logout code here
};

document.addEventListener("keypress", function(event) {
  if (event.keyCode == key) {
    logkey.click()
  }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-02
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 2012-12-23
    • 2019-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多