我想知道是否有一种方法可以禁用所有按键事件(例如键入文本),同时选择文本框元素/具有焦点但仍然允许使用ctrl + v粘贴快捷方式。换句话说,我想让它成为用户可以在框中输入任何文本的唯一方法是粘贴它(通过使用上下文菜单或通过ctrl + v)。
答案 0 :(得分:2)
尝试这个简单的解决方案:
<input type="text" id="txtbox" />
$(document).ready(function () {
var ctrlKey = 17
var vKey = 86
$("#txtbox").keydown(function (e) {
if (!(e.ctrlKey && e.which == vkey)) {
return false;
}
});
});
<强> DEMO 强>
答案 1 :(得分:1)
这里是代码,停用keydown,但保持Ctrl + v工作。
var ctrlActive = false;
$('#idtext').keydown(function(e) {
if(ctrlActive)
{
if(event.which == 86) {
return true;
}
else
{
e.preventDefault();
return false;
}
}
else
{
if(event.which == 17)
ctrlActive = true;
else
{
e.preventDefault();
return false;
}
}
});
$('#idtext').keyup(function(e) {
if(event.which == 17) {
ctrlActive = false;
}
});
答案 2 :(得分:0)