jQuery Mobileの"cannot call methods on button prior to initialization"というエラー

jQuery Mobileのボタンをenable/disableするには

$(ボタン).attr("disabled", "disabled");

のようにするのではダメで,

$(ボタン).button("enable");
$(ボタン).button("disable");

のようにしなければいけないようですが,動的にボタンを生成してdisableしようとすると

cannot call methods on button prior to initialization; attempted to call method 'disable'

のようなエラーが出ました.どうやらbutton("disable")の前に初期化というものをしなければならないようで,試行錯誤していると

$(ボタン).button().button("disable");

でうまく動きました.