javascript - Chrome 中的滚轮事件后 mailto 链接不起作用

标签 javascript html

我已经构建了一个 html 页面来演示该问题。
请在 Google Chrome 中加载此文档:

<html>
<head>
<script language="javascript">
var allow = true;
window.addEventListener("keydown", EvKeydown);
window.addEventListener("wheel", EvWheel);

function EvKeydown(ev) {
   window.document.body.innerHTML += "key ";
   window.location.href = "mailto:user@domain.com";
}
function EvWheel(ev) {
   if (allow) {
      allow = false;
      window.document.body.innerHTML += "wheel ";
      window.setTimeout(function() {allow = true}, 500);
      window.location.href = "mailto:user@domain.com";
   }
}
</script>
</head>
<body>
</body>
</html>

每次按下按键时,我的邮件程序 (MS Outlook) 都会运行。
转动滚轮仅在文档加载后第一次运行,并且之前没有按下任何键。
单击任何鼠标按钮都会“重置”该按钮,然后滚轮会再次运行它,但仅一次。
我也在 MS IE 和 Edge 中对此进行了测试。它工作完美。
谁能解释一下吗?

最佳答案

删除allow变量和if语句,它每次都会运行

<script language="javascript">

window.addEventListener("keydown", EvKeydown);
window.addEventListener("wheel", EvWheel);

function EvKeydown(ev) {
   window.document.body.innerHTML += "key ";
   window.location.href = "mailto:user@domain.com";
}

function EvWheel(ev) {
  window.document.body.innerHTML += "wheel ";
  window.setTimeout(function() {allow = true}, 500);
  window.location.href = "mailto:user@domain.com";

}
</script>

关于javascript - Chrome 中的滚轮事件后 mailto 链接不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42254240/

相关文章:

html - 如何根据内容长度使 DIV 的宽度等于 2 个预设值中的 1 个?

html - 是否支持 HTML5

javascript - 检测用户何时与 IFrame JavaScript 交互

javascript - Vuetify 数据表项槽中的文本字段

javascript - ' >>> ' 在 javascript 中是什么意思?

javascript - Ruby 的 Case 语句与 Javascript 的 Switch 语句

javascript - Windows 10 中 window.open 窗口的宽度和高度设置不正确

javascript - 使用 JavaScript 获取每个的值

JQuery Accordion 宽度错误

html - 以自适应宽度和固定纵横比显示图像