1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > input回退消失 vue_vue中iE11 input select使用backspace使浏览器回退解决-Go语言中文社区...

input回退消失 vue_vue中iE11 input select使用backspace使浏览器回退解决-Go语言中文社区...

时间:2018-10-17 09:01:15

相关推荐

input回退消失 vue_vue中iE11 input select使用backspace使浏览器回退解决-Go语言中文社区...

在utils中添加preventBackspace.js文件

代码如下:export const banBackSpace = (e) => {

let ev = e || window.event

// 各种浏览器下获取事件对象

let obj = ev.relatedTarget || ev.srcElement || ev.target || ev.currentTarget

// 按下Backspace键

if (ev.keyCode === 8) {

// 标签名称

let tagName = obj.nodeName

// 如果标签不是input或者textarea则阻止Backspace

if (tagName !== 'input' && tagName !== 'textarea') {

return stopIt(ev)

}

let tagType = obj.type.toUpperCase() // 标签类型

// input标签除了下面几种类型,全部阻止Backspace

if (tagName === 'input' && (tagType !== 'text' && tagType !== 'textarea' && tagType !== 'password')) {

return stopIt(ev)

}

// input或者textarea输入框如果不可编辑则阻止Backspace

if ((tagName === 'input' || tagName === 'textarea') && (obj.readOnly === true || obj.disabled === true)) {

return stopIt(ev)

}

}

}

function stopIt (ev) {

if (ev.preventDefault) {

// preventDefault()方法阻止元素发生默认的行为

ev.preventDefault()

}

if (ev.returnValue) {

// IE浏览器下用window.event.returnValue = false;实现阻止元素发生默认的行为

}

return false

}

在公共main.vue文件中引入banBackSpace方法

mounted生命周期中添加事件mounted () {

document.onkeypress = banBackSpace

document.onkeydown = banBackSpace

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。