【发布时间】: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_upjsfiddle.net/Palestinian/y3L2X -
谢谢。它正在工作!
-
@Prabakaran,请让 Omar 正式提交他的答案,并将其标记为已接受。这样,愿意提供帮助的人就会知道您找到了问题的解决方案。
标签: javascript jquery jquery-mobile backbone.js requirejs