我正在开发一个jquery移动应用程序。我遇到了一个问题,即动态添加的按钮不起作用,除非我使用.trigger('create');
,但即使添加了触发器,我仍然遇到同样的问题。这个问题在很多时候都会在这个网站上被问到,但所有的答案都建议在代码中添加.trigger('create');
。我该如何解决这个问题?
这是我的代码:
var button = $("<a data-role="button" id="my_button">My Button</a>");
$("#my_div").append(button).trigger('create');
$("#my_button").on("click", function(){
alert("clicked");
});
当我点击按钮时没有任何事情发生。
答案 0 :(得分:1)
动态添加 anchors 时,请使用.buttonMarkup()
创建它。使用上述增强方法创建时,不可能会添加data-role="button"
。
$("#my_div").append($("<a/>", {
id: "my_button",
"data-role": "button"
}).text("Button").buttonMarkup({
icon: "delete",
iconpos: "notext"
}));
将动态绑定事件绑定到文档。
$(document).on("click", ".selector", function () {
alert("clicked");
});
<强> Demo 强>
答案 1 :(得分:0)
变化:
var button = $("<button data-role="button" id="my_button">My Button</button>");
为:
var button = $("<button data-role='button' id='my_button'>My Button</button>");
您没有正确创建按钮。正确连接HTML并且代码应该可以正常工作