Meteor:使用Jquery创建对话框

时间:2015-03-19 16:19:41

标签: javascript jquery meteor

我使用jquery在我的Web应用程序中创建对话框。在正常的应用程序中,我可以使用jquery轻松完成此任务。但是当转向Meteor时,看起来Meteor已经改变了许多普通javascript无法正常工作的东西。这是我的代码:

<template name="post_list">
    <button id="ask_question_btn">Ask A Question</button>
    <div id="dialog" title="Dialog Title goes here...">Custom Dialog</div>
</template>

这里是相应的javascript:

Template.post_list.events({
    'click #ask_question_btn': function(event, template) {
        template.$( "#dialog" ).dialog( "open" );
    }
});

当我跑步时,没有任何东西显示。我不知道如何调试它。请帮我解决这个问题。

谢谢:)

1 个答案:

答案 0 :(得分:2)

我认为$ .dialog()函数不是jQuery的原生函数。我熟悉jQuery UI dialog function,您可以在应用中加入来自Atmosphere的任何jQuery UI package

此外,在您的代码中,您需要在打开之前初始化对话框。我能够使用mizzao:jquery-ui包获得以下内容:

meteor add mizzao:jquery-ui

然后,在我的帮助文件中:

Template.post_list.rendered = function() { // initialize the dialog once rendered
  $( "#dialog" ).dialog({autoOpen: false}); // autoOpen = false means this won't open until we ask it to
}

Template.post_list.events({
  'click #ask_question_btn': function(event, template) {
    $( "#dialog" ).dialog('open');
  }
});

希望对你有用。如果您有任何问题,请告诉我,我很乐意帮忙。