如何在IE,Firefox和Chrome中检测转义按键?下面的代码适用于IE和警报27,但在Firefox中它会发出警报0
$('body').keypress(function(e){
alert(e.which);
if(e.which == 27){
// Close my modal window
}
});
Run Code Online (Sandbox Code Playgroud) 具有键码的键盘上的键是13什么?
switch(key) {
case 37:
$.keynav.goLeft();
break;
case 38:
$.keynav.goUp();
break;
case 39:
$.keynav.goRight();
break;
case 40:
$.keynav.goDown();
break;
case 13:
$.keynav.activate();
break;
}
Run Code Online (Sandbox Code Playgroud) 在Firefox 3.5中测试JavaScript时,我可以访问常量,例如KeyEvent.DOM_VK_D但不能访问Google Chrome.是否有跨浏览器访问这些常量的方法?
在我的应用程序中,我有一个包含一些设置信息的面板.点击按钮即可打开/关闭此面板,但我也希望能够通过敲击esc键盘来关闭它.
我的View代码如下所示:
Social.MainPanelView = Ember.View.extend({
elementId: 'panel-account-settings',
classNames: ['panel', 'closed'],
keypress: function(e){
console.log(e);
console.log('keypress');
},
close: function(){
this.$().prepareTransition().addClass("closed");
}
});
Run Code Online (Sandbox Code Playgroud)
我也尝试过keyup和keydown,但没有任何反应.我怀疑这是因为这不是一个"输入"类型的视图,而只是一个标准视图.那么如何从关键事件触发View上的方法呢?
我应该澄清,这不属于这一特定要素的路线.我正在打开独立面板,如本视频中所示:
http://screencast.com/t/tDlyMud7Yb7e
更新1
这是我创建的一个快速小提琴,用于说明我遇到的问题.我可以很容易地触发click事件,但我正在寻找一个页面范围的keyup事件,它将检测被按下的esc键并触发特定View上的方法:
如果我有一个div我已经表现出感谢点击事件 - 如果有人点击div之外的任何地方,或者点击esc键,有什么方法可以让它关闭?
我已经制作了一个模态框弹出功能,当有人在所有浏览器中点击转义键时,我想关闭这个模态弹出框.我已经将这个文件modal-window.min.js用于这些弹出窗口.
如何关闭这些以响应此键?
可能的重复:
jQuery 的转义键的键码
这段小代码对 Firefox 和 Opera 来说就像一个魅力。Internet Explorer 不喜欢它。
window.document.onkeydown = function (e) {
if (!e) {
e = event;
}
if (e.keyCode == 27) {
myfunction();
}
}
Run Code Online (Sandbox Code Playgroud)
IE 中不能检测 ESC 的按键吗?谢谢
我正在使用jQuery全屏插件https://github.com/martinaglv/jQuery-FullScreen 我的代码:
$('#cancel-fullscreen').hide()
//View Fullscreen
$('#view-fullscreen').click(function(){
$('#container').css({'background': 'green'}).fullScreen();
$(this).hide();
$('#cancel-fullscreen').show();
return false;
});
//Cancel Fullscreen
$('#cancel-fullscreen').click(function(){
//I need this work when "Esc" or "F11" buttons pressed
$('#container').css({'background': 'red'}).fullScreen(); //If press "Esc" background still green..
$(this).hide();
$('#view-fullscreen').show();
return false;
});
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但我的设计中不需要"取消"按钮,按下"Esc"或"F11"按钮全屏取消.按下这个按钮后我需要运行一些功能,任何想法怎么办?
谢谢,Kuzzy.
我有一个 HTML 表单,我只需要允许按数字键。为此,我使用了以下代码
$(".span8").keypress(function(e)
{
var unicode=e.charCode?e.charCode : e.keyCode
//警报(Unicode);
if ((unicode ==8) || (unicode==9)|| (unicode==46)){
//如果键不是退格键(我们应该允许)
}
别的
{
if (unicode<48||unicode>57&&unicode!=65) //如果不是数字
return false //禁用按键
}
});
Run Code Online (Sandbox Code Playgroud)
但是在这里,如果我正在测试键码,则删除键的值为 46。46 用于点(-句点)其他值将正确。我无法找到我是不是做错了。请帮忙
javascript ×6
jquery ×5
jquery-ui ×2
ascii ×1
dom-events ×1
ember.js ×1
fullscreen ×1
html5 ×1
keyboard ×1
keycode ×1
keyevent ×1