簡體   English   中英

jQuery .resizable,如何為AlsoResize屬性選擇子級

[英]JQuery .resizable, how to select child for alsoResize property

我有彈出的窗口,並且可以拖動和調整大小。 一切工作都很好,除了我需要調整窗口大小以在其中調整div的大小。 通過設置alsoResize: 'selector'可以輕松實現,但是,此窗口的每個實例在其中具有相同的div和相同的類名。 如果您調整一個窗口的大小,它將調整所有打開的窗口的內部div的大小。

$(chatWindow).draggable({ handle: '.dragHandle', containment: 'window', stack: '.chatWindow' })
    .resizable({ resize: function (event, ui) {
        api.reinitialise();
    },
        alsoResize: chatWindow + ' > .chatTerminal',
        start: function (event, ui) {
            var currentPosition = api.getContentPositionY();
            api.scrollToBottom();
            var maxPosition = api.getContentPositionY();
            api.scrollToY(currentPosition);
            var isAtBottom = (currentPosition == maxPosition);
            $(chatWindow).data('isAtBottom', isAtBottom);
        },
        stop: function (event, ui) {
            if ($(chatWindow).data('isAtBottom'))
                api.scrollToBottom();
        },
        minHeight: 125,
        minWidth: 250
    });

alsoResize: chatWindow + ' > .chatTerminal',不適用於選擇子元素。 我不能使用.find,因為AlsoResize僅采用選擇器。 顯而易見的快速解決方案是將窗口名稱(每個新窗口都唯一)附加到內部div,然后在內部div上使用id選擇器。 我只是想知道是否有更好的方法僅使用AlsoResize的選擇器來固定子元素。

var chatTerminal = '#' + channel + "_terminal";

alsoResize: chatTerminal

channel是主窗口的唯一ID,因此在創建窗口時,我只是將相同的唯一ID附加到子div上。 然后,我可以使用chatTerminal從AlsoResize選項中引用它。 我列出了這個答案,以防沒人回答,我會接受。 但是,如果您有更好的方法從選擇器字符串中選擇一個孩子,請告訴我:)

暫無
暫無

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

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