【发布时间】:2017-07-31 09:27:27
【问题描述】:
我已经看到了this question的答案,但这不是我需要的解决方案,因为它是针对jQuery的,我需要一些针对的东西vue.js.
到目前为止,我能够使用 ff.代码:
export default {
name: 'game',
data () {
return {
allowInput: false,
disabledKeys: ['ArrowLeft', 'Home', 'Control']
}
},
methods: {
keymonitor: function (event) {
console.log(event.key)
if (this.disabledKeys.indexOf(event.key) >= 0) {
event.preventDefault()
this.allowInput = false
// alert('not allowed')
} else {
this.allowInput = true
}
},
checkAnswer () {
if (! this.allowInput) {
alert('the key(s) you pressed is/are not allowed')
}
} /* END checkAnswer */
} /* END methods */
} /* END export default */
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.2.2/vue.min.js"></script>
<input id="typeBox" ref="typeBox" autocomplete="off" placeholder="Type here..."
@keydown="keymonitor" @keyup="checkAnswer()" />
上面的代码成功地阻止了文本框接受 ArrowLeft、Home 和 Control 按键。
问题:
我试图弄清楚如何检测 Ctrl+V,因为我想阻止在我的文本框中进行粘贴操作。有谁知道如何做到这一点?提前致谢。
【问题讨论】:
-
请检查sn-p,你在里面使用exports :)
-
可以使用与您引用的答案相同的方法。只需使用
document.addEventListener而不是 jQuery 方法。 -
stackoverflow.com/questions/2903991/… 这是使用 keyup 和 keydown 事件的答案
-
@Amresh 我知道它在此处的 sn-p“工具”中引发了错误,但它现在在我的开发环境中没有任何错误。
标签: javascript vue.js vuejs2 textinput