2

我正在使用 JQuery 和 jQM 以编程方式将 li 添加到 ul 以下代码有效,它添加了 li 和一个普通的 jQM 外观按钮

$('#ul_edit_users')
   .append("<li>"+
      " <a href='#' data-role='button' data-theme='c'>Delete</a>"+
       "</li>");
$('#ul_edit_users').listview('refresh');

然而,当我添加逻辑将 LI 分成两行时,我失去了“按钮”功能,它只是变成了一个普通的蓝色“href”。

$('#ul_edit_users')
.append("<li>"+
        "<div class='ui-grid-a'>"+
    " <div class='ui-block-a'>"+
    "  <h2 >Name</h2>"+
    " </div>"+
    " <div class='ui-block-b'>"+
    "  <a href='#' data-role='button' data-theme='c'>Delete</a>"+
    " </div>"+
    "</div>"+
    "</li>");
  $('#ul_edit_users').listview('refresh');

如果我将该代码作为常规 html 放入文件中,那么它可以正常工作,我认为 jquery 不喜欢动态添加它。

非常欢迎任何想法,谢谢。

4

1 回答 1

0

您需要.trigger('create')在要插入的新部分上生成按钮等,然后.listview('refresh')更新列表。

$('#add').click(function() {
    $new = $("<li><div class='ui-grid-a'><div class='ui-block-a'><h2 >Name</h2></div><div class='ui-block-b'><a href='#' data-role='button' data-theme='c'>Delete</a></div></div></li>");

    $('#ul_edit_users').append($new);

    $new.trigger('create');

    $('#ul_edit_users').listview('refresh');
});
​

http://jsfiddle.net/trapper/TyEDz/1/

于 2012-11-25T11:25:44.487 回答