我有一个功能正常的弹出窗体,我使用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(){})
行似乎不起作用。我也尝试在上面的监听器调用的函数中插入代码,但没有成功。任何建议都非常受欢迎。
答案 0 :(得分:0)
解决方案是直接调用按钮功能,而不是尝试点击"按钮。所以这个:
$(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" />