如何在按下Ctrl + S时触发一个函数
jQuery - How to trigger a function when Ctrl + S is pressed?
$(window).keypress(function(event) {
if (event.which == 115 && event.ctrlKey){
myfunction();
}
});
myfunction(){
alert("Key pressed Ctrl+s");
}
当Ctrl+S被按下时,我没有看到这个myfunction是触发器。有人能帮忙吗?我是新的jQuery
监听keyup
和keydown
。另外,"s"的键码是83。
$(document).bind("keyup keydown", function(e){
if(e.ctrlKey && e.which == 83){
myfunction();
}
});
function myfunction(){
alert("Key pressed Ctrl+s");
}
函数定义错误:
应该可以
$(window).keypress(function(event) {
if (event.which == 115 && event.ctrlKey){
myfunction();
return false;
}
});
function myfunction(){
alert("Key pressed Ctrl+s");
}
正如Prabhas所说,你的函数定义是错误的。
但是你也需要使用keydown
,而不是keypress
。
纯Javascript(可能不可靠,因为有些浏览器使用event.charCode
和其他event.keyCode
):
window.addEventListener('keydown', function(e) {
if (e.keyCode == 83 && event.ctrlKey) {
myfunction();
}
});
jQuery(将event.which
规范化为charCode
和keyCode
,参见:http://api.jquery.com/event.which/):
$(document).bind("keydown", function(e) {
if(e.which == 83 && event.ctrlKey){
myfunction();
}
});
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 我可以在json对象中添加一个函数吗
- Javascript使函数一个接一个地执行
- 是JavaScript中的函数一个对象
- 两个几乎相等的jQuery函数;一个适用于IE,一个不适用于IE
- 两个Javascript函数一个window.onload=Custom.init;和一个window.onload=f
- 使javascript加载函数一个接一个地执行
- 如何通过两个嵌套的匿名函数(一个带有超时的事件处理程序)传递变量
- 为什么我不能让两个jQuery函数一个在另一个里面呢?
- 给函数一个变量名,而不是它的值
- 如何使用嵌入函数(一个滚动页由Pete - peachananr)
- 是否有可能给JavaScript函数一个类型/类?
- 确保两个函数一个接一个地执行,其中第一个函数内部有一个异步调用
- 两个不同的ajax函数一个接一个调用返回相同的值
- jQuery第一次更改函数一个工作
- 给这个函数一个id
- 如何给回调函数一个值一个变量在特定时刻
- 使用回调使两个函数一个接一个地运行
- 两个函数(一个用php)是否可以用“;onclick”;
- 两个几乎相同的函数.一个函数用Queue进行排队.Jquery效果在queued函数上不起作用.为什么