我有两个功能.当按下enter时,功能正常运行,但是当按下escape时它不会.转义键的正确数字是多少?
$(document).keypress(function(e) {
if (e.which == 13) $('.save').click(); // enter (works as expected)
if (e.which == 27) $('.cancel').click(); // esc (does not work)
});
Run Code Online (Sandbox Code Playgroud) 如何在Javascript和/或jQuery中将函数绑定到左右箭头键?我查看了jQuery的js-hotkey插件(包装内置的绑定函数以添加一个参数来识别特定的键),但它似乎不支持箭头键.
我正在尝试实现按键功能,这将在用户点击时删除div Esc.这适用于Firefox和IE,代码如下:
$("body").keypress(function(e) {
alert("any key pressed");
if (e.keyCode == 27) {
alert("escape pressed");
}
});
Run Code Online (Sandbox Code Playgroud)
如果我按任意键,alert则会显示第一个键,如果我按Escape 键,则会显示第二个键alert.
但这不适用于Chrome.alert如果我按下任何一个字母键,则会始终显示第一个,但是当我点击Escape,Tab,Space或任何数字时,则不会显示第一个.
为什么会这样?有没有办法让Chrome响应这些按键?
我有以下HTML代码:
<select>
<option selected>Test 1</option>
<option>Test 2</option>
<option>Test 3</option>
</select>Run Code Online (Sandbox Code Playgroud)
如何检查是否显示了<option>s <select>?例如,这被视为显示的<option>s <select>:

这被认为是没有显示的<option>s <select>:

我试过这个:
$("#myselect").on("click", function() {
if ($("#myselect option").length == 0) {
console.log("not displayed");
} else {
console.log("displayed");
}
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="myselect">
<option selected>Test 1</option>
<option>Test 2</option>
<option>Test 3</option>
</select>Run Code Online (Sandbox Code Playgroud)
但控制台记录"始终显示".
那我该怎么做呢?
编辑1:
如何检查选择元素是否仍然"打开"/活动与jquery的答案不起作用,因为当我单击select元素以显示选项然后再次单击它时,即使select仍然聚焦,也不显示选项.
编辑2:
以防万一我不够明确,基本上我希望控制台记录"显示"或"不显示"用户点击select或者options
对我的要求当我按下按钮并在页面恢复到正常模式时隐藏该div时,我必须以全屏模式显示特定的div.
我可以用代码实现全屏模式: -
function launchFullscreen(element) {
if (element.requestFullscreen) {
$('#bmessages').show();
element.requestFullscreen();
} else if (element.mozRequestFullScreen) {
$('#bmessages').show();
element.mozRequestFullScreen();
} else if (element.webkitRequestFullscreen) {
$('#bmessages').show();
element.webkitRequestFullscreen();
} else if (element.msRequestFullscreen) {
$('#bmessages').show();
element.msRequestFullscreen();
} else {
console.log("Fullscreen Unavailable");
}
}
Run Code Online (Sandbox Code Playgroud)
但我无法捕获ESC或Deny事件,以便我可以再次隐藏该div?请告诉我要做什么?
在我的应用程序中,我有一个渲染列表组件的功能,如果我按下向左或向右箭头,无论我在屏幕上的哪个位置以及选择什么,我都会浏览它的元素并且列表选择会发生变化。为此,我使用以下代码:
@HostListener('document:keydown', ['$event'])
handleKeyboardEvent(event: KeyboardEvent): void {
if (!this.isComparisonWindow) {
if (event.keyCode === 37) {
this.navigateLeft();
} else if (event.keyCode === 39) {
this.navigateRight();
}
}
}
Run Code Online (Sandbox Code Playgroud)
这很简单。我遇到的问题是我收到警告
keyCode is deprecated. (deprecation) tslint(1)
Run Code Online (Sandbox Code Playgroud)
进一步的研究证明这是真的。但是我找不到可以轻松满足上述代码并适用于 Chrome、IE11、Firefox 和最好也适用于 Safari 的键码替代方案。大多数答案提供了检查多个案例而不是一个案例的库或额外代码。
所以我在问,当前接受的键码替代方案是什么,它的工作原理相同但未被弃用?
我使用以下脚本创建了一个灯箱:
<script type="text/javascript">
$(document).ready(function(){
$(".BtnAction").click(function(){
var objPopup = $($(this).attr("rel"));
var mask = $("<div/>", {
id : "mask",
style: "background:#000; display:block;top:0;left:0;position:absolute;opacity:0.8;filter: alpha(opacity=80);width:100%;height:100%;z-index:9998;",
click: function(){
$(objPopup).hide();
$(this).remove();
}
});
$(".PopupWrap").before(mask);
objPopup.show();
});
$(".CloseIcon").click(function(){
$(this).parent().hide();
$("#mask").remove();
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
如何实现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.
所以我有一个网站,我正在寻找一种在用户按下Esc键时将用户重定向到另一个网页的方法。
jquery ×7
javascript ×6
html ×3
angular ×1
css ×1
fullscreen ×1
html5 ×1
key-bindings ×1
keyboard ×1
keypress ×1
lightbox ×1