在 Iframe ModalTrigger 中关闭 ModalTrigger 自身
2016-06-12 10:16:03
lcw
  • 访问次数: 2
  • 注册日期: 2016-06-12
  • 最后登录: 2016-06-12

请教一下:

如何在iframe模式下打开ModalTrigger 窗体之后,在ModalTrigger 中的网页中如何关闭Modal自身?


我目前的做法是:

一、

在ModalTrigger 中将ModalTrigger 对应的HTML移除,如下:

                      $(
                      "#triggerModal", 
                      window.
                      parent.
                      document).
                      remove(); 
                      $
                      (
                      "div.modal-backdrop"
                      , 
                      window
                      .
                      parent
                      .
                      document
                      ).
                      remove
                      ();

但是这样做存在一个问题,不会去修改ModalTrigger对象的isShown属性。导致第二次打开Modal的时候,需要点击两次才能生效(第一次:调用toggle、close方法,第二次:调用toggle、show、ajustPosition)


二、

我想在ModalTrigger 自身中调用方法再次获取到对象,调用ModalTrigger 的关闭方法,如下:


                      var 
                      myTrigger = 
                      $.
                      zui.
                      modalTrigger; 
                      myTrigger.
                      close();

调用之后进入了

                          ModalTrigger.prototype.close = function(callback, redirect) {
        if(callback || redirect) {
            this.$modal.on('hidden' + ZUI_MODAL, function() {
                if($.isFunction(callback)) callback();
                if(typeof redirect === STR_STRING) {
                    if(redirect === 'this') window.location.reload();
                    else window.location = redirect;
                }
            });
        }
        this.$modal.modal('hide');
    }; 
                      
                      this.$modal.modal('hide')这一行报如下错误
                      Uncaught TypeError: Cannot read property 'modal' of undefined

在 Iframe ModalTrigger 中关闭 ModalTrigger 自身


请教一下如何解决这个问题?谢谢帮助!



另提一个无关此问题的小意见:能不能再富文本框中加一个代码标签?


lcw 最后编辑, 2016-06-12 10:43:04
沙发
2016-06-13 20:34:45
sunhao
  • 访问次数: 277
  • 注册日期: 2015-04-20
  • 最后登录: 2023-12-13

报错是因为$.zui.modalTrigger并不是打开你这个对话框的实例。

你试试这个:window.parent.$.zui.closeModal();

富文本编辑器是有插入代码的功能选项的,参考Kindeitor的文档。

1/1