使用 jquery 捕获按键
Trap keypress using jquery
我已经编写了一个代码块来捕获按键Ctrl + s
它工作,并且在事件运行时发出警报,向我显示代码块已成功运行。 稍后,此代码块将被保存命令替换。
但是我遇到了一些麻烦,因为第一次按下Ctrl + s
它可以工作,但是每次之后s
按钮单独触发事件
这是代码块:
var isCtrl = false;
ck.on('contentDom', function (evt) {
ck.document.on('keyup', function (event) {
if (event.data.$.keyCode === 17) isCtrl = false;
});
ck.document.on('keydown', function (event) {
if (event.data.$.keyCode === 17) isCtrl = true;
if (event.data.$.keyCode === 83 && isCtrl === true) {
//The preventDefault() call prevents the browser's save popup to appear.
//The try statement fixes a weird IE error.
try {
event.data.$.preventDefault();
} catch (err) { }
alert('ctrl-s');
return false;
}
});
}, ck.element.$);
}
任何帮助将不胜感激。
这篇文章适用于任何也遇到此问题的人,我现在已经解决了。我的原始代码块的问题在于,一旦isCtrl
设置为真,它就保持为真。这意味着当再次检查它是否被按下时,它是否再次按下并不重要,因为它已经设置为 true。在那里,我添加了一行,以便在条件语句运行时将其更改回 false。
下面是新的代码块:
var isCtrl = false;
ck.on('contentDom', function (evt) {
ck.document.on('keyup', function (event) {
if (event.data.$.keyCode === 17) isCtrl = false;
});
ck.document.on('keydown', function (event) {
if (event.data.$.keyCode == 17) isCtrl = true;
if (event.data.$.keyCode == 83 && isCtrl === true) {
//The preventDefault() call prevents the browser's save popup to appear.
//The try statement fixes a weird IE error.
try {
event.data.$.preventDefault();
} catch (err) { }
alert('ctrl-s');
isCtrl = false;
return false;
}
});
}, ck.element.$);
}
这是一种在jquery中执行ctrl + s命令的方法,每次都有效:
$(window).keypress(function(event) {
if (!(event.which == 115 && event.ctrlKey) && !(event.which == 19)) return true;
alert("Ctrl-S pressed");
event.preventDefault();
return false;
});
相关文章:
- jQuery使用anoSlide在手机上滑动
- jQuery使用api获取typeform结果
- JQuery使用相同的功能自动完成各种输入文本
- jQuery:使用“jQuery验证”后无法提交表单's远程验证
- jQuery使用ajax自动完成问题-TypeError:this.source不是函数
- jQuery:使用substr()的另一种方法
- 我如何让jQuery使用Greasemonkey 0.8脚本(在Firefox 2上),在没有互联网的情况下使用PC
- jquery使用name from变量按类选择元素
- JQuery:使用clone()生成的元素不采用原始的事件属性
- jQuery使用$.post上传文件
- 如何将数据附加到DOM元素以供jQuery使用
- jquery使用val()复制值似乎可以删除换行符
- jQuery使用.of()删除事件处理程序时出现的问题
- jquery使用输入框内容
- jQuery:使用实时事件添加tabindex属性
- Jquery使用html对象添加更多内容
- jQuery 使用 .scroll(handler) 滚动到元素
- PHP jQuery使用多个单词传递值
- 防止已选择的选项 Jquery 使用 MYSQL 自动完成
- jQuery使用XML数据更新UL列表