禁止使用tab按键
_initStopTabKeycode () {
window.addEventListener('keydown', event => {
if (event.keyCode === 9) {
event.preventDefault()
}
})
}
PC端禁止浏览器放大缩小
_initNoScroll () {
const keyCodeMap = {
// 91: true, // command
61: true,
107: true, // 数字键盘 +
109: true, // 数字键盘 -
173: true, // 火狐 - 号
187: true, // +
189: true, // -
};
// 覆盖ctrl||command + ‘+’/‘-’
document.onkeydown = function (event) {
const e = event || window.event;
const ctrlKey = e.ctrlKey || e.metaKey;
if (ctrlKey && keyCodeMap[e.keyCode]) {
e.preventDefault();
} else if (e.detail) { // Firefox
event.returnValue = false;
}
};
// 覆盖鼠标滑动
document.body.addEventListener('wheel', (e) => {
if (e.ctrlKey) {
if (e.deltaY < 0) {
e.preventDefault();
return false;
}
if (e.deltaY > 0) {
e.preventDefault();
return false;
}
}
}, { passive: false });
}
禁止浏览器使用右键
window.addEventListener('contextmenu', (e) => {
e.preventDefault();
})
- 需要查看如何自定义右键,可以查看我的文章 : 如何自定义右键
禁止使用space上下向下滚动
// 监听全局
window.addEventListener('keydown', event => {
if (event.keyCode === 32 && !this.$store.state.inputInfocus) {
event.preventDefault()
}
})
// 需要对每一个输入表单进行事件监听
<el-input
ref="searchInput"
v-model="search"
:class="{historyInput: statusSearchUi === 'showHistory'}"
:placeholder="$t('lang.Search GIFs')"
@keyup.enter.native="gifByInputChange"
@input="changeSearch"
@focus="focusSearch"
@blur="blurSearch"
maxlength="120"
clearable
>
</el-input>
// 控制历史记录弹窗2
focusSearch () {
this.$store.dispatch('setInputInfocus', true)
},
// 控制历史记录弹窗3
blurSearch () {
this.$store.dispatch('setInputInfocus', false)
},