【发布时间】:2011-08-05 14:27:15
【问题描述】:
我有一个使用 jQuery(并使用各种 jQuery-UI 工具)构建的应用程序。
出于某种原因,我必须将其移植到智能手机/平板电脑上,并决定为此使用 jQuery Mobile(以尽量减少更改次数)。
在我的原版应用中,我根据用户交互动态创建了页面的一些元素。
例如,可以这样创建一个滑块(p 是一个带有一堆参数的对象):
function createSlider(p){
return $("<div/>",{
"id":p.id,
"class":p.divClass,
}).slider({
"orientation": p.align,
"min":p.constraint.min,
"max":p.constraint.max,
"step":p.step,
"value":p.curVal,
"animate":"normal"
/*and some event handling here, but it doesn't matter*/
});
}
它会产生一个漂亮的滑块。现在看起来像:
function createSlider(p){
return $("<range/>",{
"id":p.id,
"class":p.divClass,
"min":p.constraint.min,
"max":p.constraint.max,
"step":p.step,
"value":p.curVal,
});
}
但由于它是动态创建的,jQuery Mobile 在页面加载时所做的所有事情都不是在它上面完成的。
有没有办法强制初始化而不在 html 中写入滑块?
谢谢。
编辑:我在doc 中发现可以使用container.trigger("create"); 来实现
但是这还不行。
EDIT2:好的 create 是解决方案。
【问题讨论】:
标签: javascript jquery jquery-mobile