指定回车键关闭放大弹出菜单中的按钮

Assign enter key to close button in Magnific Popup

本文关键字:菜单 按钮 放大 回车      更新时间:2023-09-26

我有一个功能强大的弹出窗体,用于Magnific popup Lightbox。在里面,我有一个自定义的关闭按钮,当点击时可以处理收集的信息。我希望用户能够按下回车键(在任何时候,而不仅仅是在最后的文本框之后)并激活关闭按钮。我的代码如下:

$.magnificPopup.open({
    items: {
       src: 'nameselect.html',
       type: 'ajax'
    },
    closeOnContentClick : false, 
    closeOnBgClick :true,
    showCloseBtn: false,
    enableEscapeKey : false,
    callbacks: {
        open: function(){
            $.magnificPopup.instance.wrap[0].addEventListener('focus', function (e) {kNameSearch(e,focusText)});
            $(document).keypress(function(e){
                if (e.which == 13){
                    $("#cbutton").click();
                }
            });
        },
        afterClose: function(){
            document.getElementById("SearchName").blur();
        }
    }
});

$(document).keypress(function(){})线路似乎不起作用。我还尝试将代码插入到上面的侦听器调用的函数中,但没有成功。欢迎提出任何建议。

解决方案是直接调用按钮函数,而不是尝试"点击"按钮。所以这个:

$(document).keypress(function(e){
   if (e.which == 13){
      $("#cbutton").click();
   }
});

改为:

$(document).keypress(function(e){
   if (e.which == 13){
      closeButton();
   }
});

假设该按钮在HTML中被标识为:

<input id="cbutton" onclick="closeButton()" type="button" value="Close" />