页面加载后首次点击被忽略
First click is being ignored after page load
此网页有一个简单的事件侦听器,当我右键单击它时,它会阻止打开上下文菜单。很简单。
但是当我刷新页面或初始加载页面时,如果我开始时用鼠标右键单击页面,它会显示上下文菜单,然后每次我单击鼠标右键时都会阻止它。我在 Chrome、FireFox 和 IE 中试过了。相同的结果。
我在鼠标按下、按键按下或触摸事件等方面遇到了同样的事情。就像第一次点击被忽略了一样。我正在寻找 JavaScript 解决方案(不是 jquery)。我错过了什么?
<html>
<head>
<title>test</title>
<script type="text/javascript">
window.onload = function () {
window.addEventListener("contextmenu", mouseright);
}
function mouseright() {
document.oncontextmenu = function(e) {
var e = e || window.event;
alert("right");
e.preventDefault();
}
}
</script>
</head>
<body>
hello world
</body>
</html>
我什至尝试在事件侦听器之前添加它(如 post ),没有运气 document.onload
并且确实看到它可能是浏览器焦点在页面加载设置上。我在 JavaScript 中没有尝试过的任何想法或其他想法?
if (document.hasFocus() == true) {
} else {
window.focus();
}
您不必要地将事件分配了两次(window.contextmenu
和 document.oncontextmenu
)。删除额外的包装似乎有效:
window.onload = function () {
window.addEventListener("contextmenu", mouseright);
}
function mouseright(e) {
var e = e || window.event;
alert("right");
e.preventDefault();
}
(也可能不需要 window.onload
,具体取决于您在文档中放置 addEventListener
的位置。)
此网页有一个简单的事件侦听器,当我右键单击它时,它会阻止打开上下文菜单。很简单。
但是当我刷新页面或初始加载页面时,如果我开始时用鼠标右键单击页面,它会显示上下文菜单,然后每次我单击鼠标右键时都会阻止它。我在 Chrome、FireFox 和 IE 中试过了。相同的结果。
我在鼠标按下、按键按下或触摸事件等方面遇到了同样的事情。就像第一次点击被忽略了一样。我正在寻找 JavaScript 解决方案(不是 jquery)。我错过了什么?
<html>
<head>
<title>test</title>
<script type="text/javascript">
window.onload = function () {
window.addEventListener("contextmenu", mouseright);
}
function mouseright() {
document.oncontextmenu = function(e) {
var e = e || window.event;
alert("right");
e.preventDefault();
}
}
</script>
</head>
<body>
hello world
</body>
</html>
我什至尝试在事件侦听器之前添加它(如 post document.onload
并且确实看到它可能是浏览器焦点在页面加载设置上。我在 JavaScript 中没有尝试过的任何想法或其他想法?
if (document.hasFocus() == true) {
} else {
window.focus();
}
您不必要地将事件分配了两次(window.contextmenu
和 document.oncontextmenu
)。删除额外的包装似乎有效:
window.onload = function () {
window.addEventListener("contextmenu", mouseright);
}
function mouseright(e) {
var e = e || window.event;
alert("right");
e.preventDefault();
}
(也可能不需要 window.onload
,具体取决于您在文档中放置 addEventListener
的位置。)