2013-06-12 18 views
0

我在標記模式下使用select2來創建和編輯標記。有一個惱人的行爲,就是頁面加載和標籤出現之間存在延遲。由於標籤可能會溢出到兩行,標籤出現後,整個頁面會在標籤框下方的內容被按下時重新調整。將select2與預先呈現的HTML一起使用

延遲是由select2將input HTML標記轉換爲每個標記所需的HTML元素引起的。

如果select2沒有爲標記生成HTML,而是在服務器端生成了它,並且它包含在原始頁面加載中,則可避免延遲。那麼標籤字段下的元素位置永遠不會改變。

有沒有辦法讓select2自己附加 - 預渲染 - HTML,而不是自己創建HTML?

有誰知道標籤字段組件支持這個嗎?我所看到的所有組件都是從輸入標籤開始的,然後使用Javascript動態地生成HTML。

回答

2

我無法找到一個滿意的答案,所以我創建一個jQuery插件,專門爲我的使用情況:https://github.com/k1w1/rendered-multi-select

它有Rails的助手來解析服務器上的控件的HTML,那麼JavaScript事件連接當頁面加載時。這導致更快和無閃爍的加載。