jquery mobile listview在pagecreate之后将拆分按钮插入DOM
我找不到这个问题的答案,我读过JQM文档和stackoverflow问题 我有一个listviewjquery mobile listview在pagecreate之后将拆分按钮插入DOM,jquery,listview,jquery-mobile,split-button,Jquery,Listview,Jquery Mobile,Split Button,我找不到这个问题的答案,我读过JQM文档和stackoverflow问题 我有一个listview#lista principal,它需要完全相同的拆分按钮 “拆分”按钮打开一个弹出窗口,让用户选择要插入的类。通过jquery使用$('a.ui-li-link-alt')进行插入。在('click')… 这是JSBin:(点击标题触发问题) 由于分割按钮都是相等的,我希望以编程方式插入。 我找不到这样做的方法,因此JQM会刷新分割按钮 在JQM页面中以编程方式插入拆分按钮的正确方法是什么? 出于
#lista principal
,它需要完全相同的拆分按钮
“拆分”按钮打开一个弹出窗口,让用户选择要插入的类。通过jquery使用$('a.ui-li-link-alt')进行插入。在('click')…
这是JSBin:(点击标题触发问题)
由于分割按钮都是相等的,我希望以编程方式插入。
我找不到这样做的方法,因此JQM会刷新分割按钮
在JQM页面中以编程方式插入拆分按钮的正确方法是什么?
出于测试目的,我将有问题的代码放在这个单击函数中:
$('div[data-role="header"]').click( function() {
var split_button = $('<a></a>')
.attr({
'data-rel':'popup',
'data-position-to':'origin',
'data-transition':'slidedown'
})
.html('Vistoria');
var newli = $('ul#lista-principal li').clone();
newli.find('a').append(split_button);
$('ul#lista-principal li').remove();
$('ul#lista-principal').append(newli);
newli.trigger('create');
$('ul#lista-principal').listview('refresh');
});
$('div[data role=“header”])。单击(函数(){
var split_按钮=$('
(基于)
问题的答案
最后,找到了在pagecreate之后插入拆分按钮的方法:
- 在
pagecreate
上,使用原始列表内容设置一个全局变量
- 钩住事件以更改列表(例如,
$(“div[data role='header'])。在('click'…
)上)
- 克隆原始列表并进行编辑
- 将列表中的内容替换为已编辑的内容
- 刷新列表视图组件
- 您可以在此处看到完整的代码:
如果我理解正确,您希望在每个listview li元素中添加一个拆分按钮。当按下该按钮时弹出窗口中的一个按钮?正确,只是我希望在页面加载后执行此操作。如果我将拆分按钮放在它工作的HTML中,如果我尝试在之后添加它们,它们将变成常规链接,我无法将它们变成拆分-按钮。这里的问题是,您在向li元素添加新内容时,认为其内容与jQuery Mobile更改之前的内容相同。不幸的是,它已不再相同。我建议您不要进行克隆,而是创建一个新的拆分li元素并将其附加到旧值。您的意思是从中提取原始内容当前JQM修改的li+追加新内容+触发“创建”?——是否有办法“撤消”JQM应用的修改+更改元素+重新应用JQM?提取旧标题,将其添加到完整的新列表元素(具有拆分按钮的第二个标记)中,并触发最终内容的listview(刷新)。