Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery mobile listview在pagecreate之后将拆分按钮插入DOM_Jquery_Listview_Jquery Mobile_Split Button - Fatal编程技术网

jquery mobile listview在pagecreate之后将拆分按钮插入DOM

jquery 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页面中以编程方式插入拆分按钮的正确方法是什么? 出于

我找不到这个问题的答案,我读过JQM文档和stackoverflow问题

我有一个listview
#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(刷新)。