首先恕我直言,鑑於您的例子是這樣一個問題去(當你改變只有一個按鈕的標題),也沒有多大意義使用div
作爲一個按鈕,當JQM給你很多標準選擇。
所有這些:
<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");
現在正常處理特定按鈕的click事件(如果不是唯一的一個在頁面上),您可能需要更多具體的選擇器,而不僅僅是data-role=button
屬性。 id
將是完美的。因此,而不是
$("[data-role=button]").click(function(){...});
做
$("div#button1").click(function(){...});
而最後你肯定知道,但我沒有看到它在你的jsfiddle,所以我只是提到你最好把你的代碼其中一個jQM頁面處理程序。推薦使用pageinit。
$(document).on("pageinit", "#page1", function(){
...
});
Here是jsFiddle。
無論如何,您的示例工作。請在jsFiddle中重新創建您的錯誤。也刷新不起作用,因爲你的按鈕必須在刷新之前初始化,如下所示:$(「[data-role = button]」)。html(「hello world」)。button()。button('refresh');但是,你可能會注意到調用button()就足夠了。 – Gajotres