首先div
恕我直言,鉴于您的示例与问题相关(当您仅更改按钮的标题时),当 jQM 为您提供许多标准选择时,使用 a 作为按钮没有多大意义。
所有这些:
<button>Button element</button>
<input type="button" value="Button" />
<input type="submit" value="Submit Button" />
将由jQM 自动增强为按钮,甚至无需指定data-role="button"
. 您当然可以使用链接作为按钮
<a href="index.html" data-role="button">Link button</a>
现在,如果您仍想将您的div
用作按钮,则无需指定data-role="button"
仅调用button()
插件。这将为您创建所有必要的标记,并且您的原始 div 将被保留为隐藏。
<div id="button1">By button<div>
$("div#button1").button();
要在更改标题后刷新按钮,您需要调用refresh
方法:
$("div#button1").html("Hello World").button("refresh");
现在要正常处理特定按钮的单击事件(如果它不是页面上唯一的按钮),您可能需要比data-role=button
属性更具体的选择器。id
将是完美的。所以而不是
$("[data-role=button]").click(function(){...});
做
$("div#button1").click(function(){...});
最后,您肯定知道这一点,但我没有在您的 jsfiddle 中看到它,所以我只是提到您最好将代码放在 jQM 页面处理程序之一中。pageinit是推荐的方式。
$(document).on("pageinit", "#page1", function(){
...
});
这是jsFiddle。