Magnific Popup Ajax解析div

时间:2014-07-26 06:08:09

标签: jquery ajax magnific-popup

我曾尝试从magnific popup的文档中实现如何仅从ajax调用(http://dimsemenov.com/plugins/magnific-popup/documentation.html#ajax_type)中检索特定div,但我的预期响应不起作用。我发现,文档中有一个拼写错误: ParseAjax和AjaxContentAdded用小写字母书写。在代码中它是用上层驼峰编写的。但这并没有解决我的问题。

 $('.JS_ajaxpopup').magnificPopup({
            type: 'ajax',
            ajax: {

                cursor: 'mfp-ajax-cur'
                tError: '<a href="%url%">The content</a> could not be loaded.'
            },
            callbacks: {
                ParseAjax: function(mfpResponse) {
                    console.log('test');
                    mfpResponse.data = $(mfpResponse.data).find('#mainContent');

                    console.log('Ajax content loaded:', mfpResponse.data);
                },
                AjaxContentAdded: function() {
                    // Ajax content is loaded and appended to DOM
                    console.log(this.content);
                }
            }
        });

即使我的测试没有出现在我的控制台中。也许有人暗示我为什么没有得到回复。弹出窗口正确打开,但没有解析任何内容。我也试过这个:

 ParseAjax: function (mfpResponse) {

                    mfpResponse.data = "<div class='wrapping'>" + mfpResponse.data + "</div>";
                },
                AjaxContentAdded: function () {
                    this.content;
                }

不幸的是也没发生任何事。

1 个答案:

答案 0 :(得分:4)

文档正确说明,回调名称应从小写字母开头(例如parseAjax)。

登录控制台从$(mfpResponse.data).find('#mainContent')获取的内容。如果#mainContent是根元素,请使用filter代替find