event.preventDefault()适用于Chrome,Firefox,但不适用于Safari

编程入门 行业动态 更新时间:2024-10-28 00:14:36
本文介绍了event.preventDefault()适用于Chrome,Firefox,但不适用于Safari的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 这个HTML / JS代码:

< script> window.onload = function(e){ window.onkeydown = function(event){ if(event.ctrlKey&&(event.keyCode == 61 || event) keyCode == 187)) { event.preventDefault(); alert(hello); 返回false; } } } < / script> < p> Blah< / p>

$ b 覆盖浏览器的CTRL + PLUS的ZOOM键盘快捷键。 p>

它适用于Firefox,Chrome,但不适用于Safari:使用Safari,如果您在此页面上执行CTRL + PLUS,警报(hello )已启动,但浏览器的缩放也已更改!

这意味着 event.preventDefault(); 没有像它应该工作。

如何使用 event.preventDefault() code>与Safari?

注意:我已经尝试过使用StopPropagation,但它不能解决问题。 / em>

解决方案

似乎这是 ctrlKey 的问题。假设你使用Mac OS X系统,你也需要检查 metaKey ,所以你的代码应该是:

<$ p $ ((event.ctrlKey || event.metaKey)&&(event.keyCode == 61 || event.keyCode == 187)) c>

This HTML / JS code :

<script> window.onload = function(e) { window.onkeydown = function(event) { if (event.ctrlKey && (event.keyCode == 61 || event.keyCode == 187)) { event.preventDefault(); alert("hello"); return false; } } } </script> <p>Blah</p>

overrides the browser CTRL+PLUS 's ZOOM keyboard shortcut.

It works on Firefox, Chrome, but not with Safari : with Safari, if you do CTRL+PLUS on this page, the alert("hello") is launched, but the browser's zooming is also changed !

This means that event.preventDefault(); hasn't worked like it should have worked.

How to use event.preventDefault() with Safari ?

Note: I already tried as well with StopPropagation, but it doesn't solve the problem.

解决方案

Seems like this is problem with ctrlKey. Assuming you use Mac OS X system you need to check for metaKey too, so your code should be:

if ((event.ctrlKey || event.metaKey) && (event.keyCode == 61 || event.keyCode == 187))

更多推荐

event.preventDefault()适用于Chrome,Firefox,但不适用于Safari

本文发布于:2023-08-02 16:32:15,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:适用于   但不   preventDefault   event   Safari

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!