相关疑难解决方法(0)

使用jQuery的escape key的哪个键代码

我有两个功能.当按下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

547
推荐指数
15
解决办法
43万
查看次数

在JS/jQuery中绑定箭头键

如何在Javascript和/或jQuery中将函数绑定到左右箭头键?我查看了jQuery的js-hotkey插件(包装内置的绑定函数以添加一个参数来识别特定的键),但它似乎不支持箭头键.

javascript keyboard jquery key-bindings

407
推荐指数
9
解决办法
33万
查看次数

jQuery的'keypress'不适用于Chrome中的某些键.如何解决?

我正在尝试实现按键功能,这将在用户点击时删除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响应这些按键?

jquery google-chrome keypress

62
推荐指数
2
解决办法
5万
查看次数

检查select是否显示选项

我有以下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

html javascript jquery

19
推荐指数
1
解决办法
2万
查看次数

退出全屏模式时捕获ESC事件

对我的要求当我按下按钮并在页面恢复到正常模式时隐藏该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?请告诉我要做什么?

html javascript css jquery

12
推荐指数
3
解决办法
1万
查看次数

Angular:不推荐使用 keyCode

在我的应用程序中,我有一个渲染列表组件的功能,如果我按下向左或向右箭头,无论我在屏幕上的哪个位置以及选择什么,我都会浏览它的元素并且列表选择会发生变化。为此,我使用以下代码:

@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 的键码替代方案。大多数答案提供了检查多个案例而不是一个案例的库或额外代码。

所以我在问,当前接受的键码替代方案是什么,它的工作原理相同但未被弃用?

javascript angular

4
推荐指数
2
解决办法
7916
查看次数

如何添加转义键功能来关闭灯箱?

我使用以下脚本创建了一个灯箱:

<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 lightbox

3
推荐指数
1
解决办法
1万
查看次数

HTML5全屏API转义按钮事件

我正在使用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.

jquery html5 fullscreen jquery-plugins

1
推荐指数
2
解决办法
8782
查看次数

在按键上重定向?

所以我有一个网站,我正在寻找一种在用户按下Esc键时将用户重定向到另一个网页的方法。

html javascript keyboard-shortcuts

0
推荐指数
1
解决办法
3281
查看次数