gpt4 book ai didi

javascript - 是否可以使用 jQuery Mobile 动态创建元素?

转载 作者:数据小太阳 更新时间:2023-10-29 05:27:19 25 4
gpt4 key购买 nike

我有一个使用 jQuery(并使用各种 jQuery-UI 工具)构建的应用程序。

出于某种原因,我必须将它移植到智能手机/平板电脑上,并决定为此使用 jQuery Mobile(以尽量减少更改次数)。

在我的普通应用中,我根据用户交互动态创建了页面的一些元素。

例如,可以这样创建一个 slider (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*/
});

}

它会生成一个漂亮的 slider 。现在看起来像:

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 中编写 slider 的情况下强制进行初始化?

谢谢。

编辑:我在 doc 中找到可以使用 container.trigger("create"); 来实现然而,这还行不通。

EDIT2:好的,创建是解决方案。

最佳答案

根据文档(请参阅问题中的编辑),在包含元素上使用 trigger("create") 是可行的。

要做到这一点,您还需要记住范围是输入类型而不是标签...

工作解决方案:

function createSlider(){
return $("<input/>",{
"type":"range",
"id":"sl",
"min":0,
"max":15,
"step":1,
"value":1,
});
}

function appendSlider(){
$("#yourdiv").append(createSlider()).trigger("create");
}

作为旁注,jQuery Mobile 的文档缺少搜索选项。

关于javascript - 是否可以使用 jQuery Mobile 动态创建元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6957910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com