检测jQuery的揭示插件模式关闭esc键或点击外部
我正在使用jQuery的显示插件显示弹出。我正在寻找一种方式在jQuery或JavaScript中,我可以触发一个适当的事件时,通过按Esc键或点击弹出式外弹出关闭。有什么方法可以捕捉到这个事件?检测jQuery的揭示插件模式关闭esc键或点击外部
而且对揭示插件的网站只有几个选项里给出,如:
$('#myModal').reveal({ animation: 'fadeAndPop', //fade, fadeAndPop, none
animationspeed: 300, //how fast animtions are
closeonbackgroundclick: true, //if you click background will modal close?
dismissmodalclass: 'close-reveal-modal' //the class of a button or element that will close an open modal
});
是否有这个插件的任何更多的选择?如果是这样,请为我提供链接。
回答:
按照source事件称为“透露:关闭”在这两种情况下被解雇,你应该能够通过
$yourModal.bind('reveal:close', function() { console.log('Modal closed');
});
添加自己的处理程序,该事件当你需要知道以何种方式它已关闭,您可以使用'reveal:open'事件在文档对象上添加关键事件处理程序或在.reveal-modal-bg元素上添加单击事件处理程序。
$yourModal.bind('reval:open', function() { var $document = $(document);
$document.bind('keyup', function onEscHandler(event) {
if (event.which === 27) {
console.log('closed by ESC');
// Modal is closed, let's remove the handler again
$document.unbind('keyup', onEscHandler);
}
});
var $modal_bg = $('.reveal-modal-bg');
$modal_bg.one('click', function onBgClidkHandler() {
console.log('closed by click on BG');
// We don't need to remove this handler since 'one' does it automatically.
});
});
回答:
打开
jquery.reveal.js
。添加新的选项:
var defaults = {
animation: 'fadeAndPop', animationspeed: 300, closeonbackgroundclick: true, dismissmodalclass: 'close-reveal-modal' escape: true // true: modal close with Esc. false: modal no close with Esc };在文件
jquery.validate
,找到行的内容e.which===27
。整条生产线:
if(e.which===27){ modal.trigger('reveal:close'); }
修改,并在此行中验证新选项
escape
:if(e.which===27 && options.escape === true){ modal.trigger('reveal:close'); }
就是这样。现在
escape
选项有效。
以上是 检测jQuery的揭示插件模式关闭esc键或点击外部 的全部内容, 来源链接: utcz.com/qa/260046.html