2011-06-09 50 views
0

我正在使用jqModal插件將對話框附加到按鈕單擊。我想下面的框連接到頁面:jqModal只在元素插入到頁面後才起作用

suqBoxInner = document.createElement("div"); 
    suqBoxInner.id = "suq_box_inner"; 

    $(suqBoxInner).jqDrag('.jqDrag').jqResize('.jqResize').jqm({ 
     trigger: '#suq_button', 
     overlay: 0, 
     onShow: function(h) { 
     return h.w.css('opacity', 0.92).slideDown(); 
     }, 
     onHide: function(h) { 
     return h.w.slideUp("slow", function() { 
      if (h.o) { 
      return h.o.remove(); 
      } 
     }); 
     } 
    }); 

然而這僅適用於如果我後運行該綁定代碼一直div的插入到頁面中。那就是在運行jqDrag代碼之前,我必須使用類似$("#div_on_page").after(suqBoxInner)的東西。在將它插入頁面之前,我有哪些綁定選項?我可以使用$.live(),但必須綁定到鼠標事件,並且jqModal插件使用綁定在函數調用中列出的觸發器上。

回答

0

看起來這個插件需要div (suqBoxInner)在頁面上。因此,修改插件很短,我不確定你有多少選擇。也許你可能想重新思考你是如何實現插件的? suqBoxInner如何放置在頁面上?它是在特定事件還是行動之後?

我能想到的一個解決方案就是在頁面上放置suqBoxInner之後觸發事件。然後該事件將初始化jqModal。

只是一個想法。祝你好運。

相關問題