欢迎访问我的博客地址 : 博客地址
有时候我们在页面中需要阻止浏览器的默认行为事件,在W3C的方法是e.preventDefault(),IE则是使用e.returnValue = false,preventDefault是事件对象Event的一个方法,作用是取消一个目标元素的默认行为。如果元素没有默认行为,则调用无效,JS的return false只会阻止浏览器的默认行为。下面是一些简单的示例:
//屏蔽F1---F12
document.onkeydown = function (e) {
var evt = window.event || e;
var code = evt.keyCode || evt.which;
if (code > 111 && code < 124) {
if (evt.preventDefault) {
evt.preventDefault();
} else {
evt.keyCode = 0;
evt.returnValue = false;
}
}
};
//禁止鼠标右键菜单
document.oncontextmenu = function (e) {
return false;
};
//阻止后退的所有动作,包括 键盘、鼠标手势等产生的后退动作。
history.pushState(null, null, window.location.href);
window.addEventListener("popstate", function() {
history.pushState(null, null, window.location.href);
});
//阻止移动端 长按选择文字的默认事件
* {
-webkit-touch-callout:none;
-webkit-user-select:none;
-khtml-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
user-select:none;
}
//阻止移动端长按图片,默认保存图片事件
-webkit-touch-callout: none;(IOS)