jqModal仅在元素插入页面后才有效

时间:2011-06-09 21:34:52

标签: javascript jquery binding

我正在使用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插入页面后运行此绑定代码时,这才有效。这就是我必须在运行$("#div_on_page").after(suqBoxInner)代码之前使用jqDrag之类的东西。在将其插入页面之前,我有什么选择来绑定它?我可以使用$.live()但必须绑定到鼠标事件,jqModal插件使用函数调用中列出的触发器上的bind。

1 个答案:

答案 0 :(得分:0)

此插件似乎要求div (suqBoxInner)位于页面上。如此简短的修改插件,我不确定你有多少选择。也许您可能想重新考虑如何实现插件? suqBoxInner如何被放置在页面上?是在特定事件或行动之后吗?

我能想到的一个解决方案是在页面上放置suqBoxInner后触发事件。然后该事件将初始化jqModal。

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