【问题标题】:Jquery mobile popup is not firing with requireJS & backboneJSJquery 移动弹出窗口未使用 requireJS 和backboneJS 触发
【发布时间】:2013-12-18 03:57:54
【问题描述】:

我使用jquery mobile 和backboneJS 进行路由。现在我的问题是我必须从我的函数中动态触发一个弹出窗口。

代码是:

define([
    'jquery',
    'underscore',
    'backbone',
        'jquerymobile',
        'views/nextview'
], function ($, _, Backbone, JqueryMobile, NextView) {
         'use strict';
        var Collection = '';
        var MyView = Backbone.View.extend({

         ......

          renderList: function(tasks){
             $(".results").each(function() {
               $(this).popup("open");
             });
          },


        .......
});
return MyView;
});

HTML:

<ul class="results" id="results" data-role="pop_up" data-transition="slidedown"></ul>

此 ul 中的 HTML 内容将由在此之前的另一个函数填充。

问题是,$(this).popup("open") 函数没有触发。

上面写着cannot call methods on popup prior to initialization;

【问题讨论】:

  • 您可以同时打开多个弹窗,至少尝试一个。该错误意味着弹出窗口不存在于同一活动页面中,或者仍未呈现。请发布有关弹出标记以及如何动态附加它的更多详细信息。
  • 我尝试使用页面中已经存在的 id 调用单个弹出窗口。它给了我同样的错误。
  • data-role=popup 不是pop_up jsfiddle.net/Palestinian/y3L2X
  • 谢谢。它正在工作!
  • @Prabakaran,请让 Omar 正式提交他的答案,并将其标记为已接受。这样,愿意提供帮助的人就会知道您找到了问题的解决方案。

标签: javascript jquery jquery-mobile backbone.js requirejs


【解决方案1】:

您在data-role 属性中使用了pop_up 而不是popup

<ul class="results" id="results" data-role="popup" data-transition="slidedown">
  <!-- item -->
</ul>

【讨论】:

    猜你喜欢
    • 2012-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-03
    • 1970-01-01
    相关资源
    最近更新 更多