2011-06-09 54 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。

只是一个想法。祝你好运。

相关问题