通过JQuery Mobile动态添加按钮

use*_*192 3 jquery-mobile

我正在开发一个JQuery Mobile应用程序.我在页面加载时动态添加HTML.这里显示了一个精简的示例:

var h = "";
for (i=1; i<=5; i++) {
  h += "<div>Entry #" + i + "</div>";
  h += "<div class='ui-grid-a'>";
    h += "<div class='ui-block-a'><input type='button' value='Approve' onclick='return approveButton_Click(this);' /></div>";
    h += "<div class='ui-block-b'><input type='button' value='Reject' onclick='return rejectAbuse_Click(this);' /></div>";
  h += "</div><hr />";
});
$("#entries", "#myPage").append(h);
Run Code Online (Sandbox Code Playgroud)

我的HTML出现在UI中.但是,按钮不会呈现为典型的JQuery Mobile按钮.相反,它们看起来像传统的HTML按钮.如何获取动态添加的按钮以应用JQuery移动样式?

谢谢

Gaj*_*res 7

以下是您的代码中的一个工作示例:http://jsfiddle.net/Gajotres/NuCs2/

在刷新按钮之前,首先必须使用.button()函数进行初始化.像这样:

$("#approve"+i).button().button('refresh');
$("#reject"+i).button().button('refresh');
Run Code Online (Sandbox Code Playgroud)

还有另一种解决方案,但只有在重新创建整个页面时才应使用它:

$("#index").trigger("pagecreate");
Run Code Online (Sandbox Code Playgroud)

以下是第二个解决方案的示例:http://jsfiddle.net/Gajotres/mpFJn/

如果您想了解有关标记增强方法的更多信息,请查看我的其他文章,让我透明,这是我的个人博客.或者在这里找到它.

  • 是否有理由初始化和刷新小部件?由于HTML刚刚添加到DOM中,因此不需要刷新任何内容.或者我出于某种原因离开了基地?此外,您的第一个JSFiddle显示404错误. (2认同)