2

ポップアップを表示するためにjquery Revealプラグインを使用しています。esc キーを押すか、ポップアップの外側をクリックしてポップアップを閉じたときに、jquery または javascript で適切なイベントをトリガーできる方法を探しています。このイベントをキャプチャする方法はありますか?

また、公開プラグイン Web サイトでは、次のようないくつかのオプションのみが提供されます。

$('#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
});

このプラグインには他にオプションはありますか? もしそうなら、そのリンクを教えてください。

4

2 に答える 2

9

ソースによると、「reveal:close」というイベントが両方の場合に発生し、そのイベントに独自のハンドラーを追加できるはずです

$yourModal.bind('reveal:close', function () {
  console.log('Modal closed');
});

閉じられた方法を知る必要がある場合は、'reveal:open' イベントを使用して、document-object に keyup イベント ハンドラーを追加するか、.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.
  });
});
于 2013-07-07T21:45:05.977 に答える