簡體   English   中英

plone4:用ajax內容打開覆蓋,沒有綁定到點擊

[英]plone4: open overlay with ajax content w/o binding to click

來自plone.app.jquerytools $('.selector').prepOverlay()在將彈出窗口綁定到'onClick'並從其中一個href / src / rel屬性提供的url加載內容時工作正常。

<a class=".selector" href="link/to/@@view">link</a>

我有一個用例,我通過ajax手動加載我的內容,檢查它是否符合某些條件,如果滿足這些條件,我想在疊加中顯示ajax請求返回的內容:

jQuery.ajax({
    type: 'GET',
    url: portal_url + '/@@my-popup',
    success: function(r) {
        if (r != '') {

            // show Overlay

        }
    }
});

我目前要做的是顯示疊加層:

創建一個鏈接項,將疊加層綁定到它並打開它

var link = $('<a href="' + portal_url + '/@@my-popup"></a>')

link.prepOverlay({
    subtype:'ajax',
});
link.click();

但是,這會產生兩個'/ @@ my-popup'請求

是否有更好的方法將任意內容放入使用prepOverlay創建的疊加層中?

Plone的prepOverlay的唯一真正目的是自動將鏈接或圖像轉換為簡單的jquerytools疊加。 在你的情況下,它只是阻礙了。 所以,不要使用prepOverlay。 只需直接使用jquerytools的覆蓋設施即可

不幸的是,沒有。

如果您仔細觀察prepOverlay函數,可以看到以下行:

// be promiscuous, pick up the url from
// href, src or action attributes
src = o.attr('href') || o.attr('src') || o.attr('action');

這意味着如果沒有具有href,src或action屬性的元素,您將無法觸發疊加層。

您可以編寫自己的prepOverlay方法,它不會迭代某些元素,但會將特定的URL作為參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM