关闭typo3模式框的按钮

时间:2016-02-20 19:11:51

标签: jquery typo3-7.6.x

我找到了一个带有TYPO3(http://www.andreas-hoffmeyer.de/blog/content-als-lightbox.html)的模态框的完美指令。开场适用于所有类型的内容元素,但作者没有集成一个关闭按钮,并要求他提示没有成功。

我有一些Typoscript

modal = PAGE
modal {
  typeNum = 123
  config {
    no_cache = 1
    disableAllHeaderCode = 1
    disablePrefixComment = 1
  }  
  10 < styles.content.get
  10 {
    select {    
      andWhere.data = GP:cid
      andWhere.intval = 1     
      andWhere.if.isTrue.data = GP:cid
      andWhere.wrap = uid=|  
    }
  }
}

和一些jquery

(function(window, document, $) {
    "use strict"
    $('.download').on('click', function(event) {
        event.preventDefault();
        // erstmal alle bisherigen Modalboxes entfernen
        $('.download').remove();
        var uri = [];       
        uri = $(this).attr('href').split('#');
        if (uri[1]) {   
            var cid = uri[1].replace(/[a-z]/gi, '');
            $.get(uri[0], {cid: cid, type: 123}, function(data, status) {
                appendToBody(data, status);
            });
            return true;
        }
        $.get(uri[0], {type: 123}, function(data, status) {
            appendToBody(data, status);
        });
    });
    function appendToBody(data, status) {
        if (status !== 'success') {
            throw Error('Error getting the content');
        }

        $('<div>', {
            id: 'modal',
            css: {
                (...)
            }
        }).html(data).appendTo('body');     
    }
})(window, document, jQuery);

现在我需要在模态框内部关闭一个按钮,通过单击模态框外的某个位置来关闭模态框会很棒。

我尝试了这种方式没有成功:

我在TYPO3中创建了一个新的HTML内容元素,该页面显示在模态框中并添加了

<p class="close">Close Window</p>

<script>
$( '.close' ).click(function() {
  $('.download').remove();
});
</script>

1 个答案:

答案 0 :(得分:2)

我找到了解决方案。这对我来说很好:

<p class="close">Fenster schließen</p>

<script>
     (function(window, document, $) {
         $( '.close' ).click(function() {
              $('#modal').remove();
         });
    })(window, document, jQuery);
</script>