0
我在我的DOM後初始化的底部得到這個UI主題不適用:jQuery的使用knockout.js時隱藏/顯示
$("button, input:submit, input:button").button();
這工作正常,屏幕上所有的按鈕,但稍後顯示的按鈕不適用主題。我在knockout.js中使用「可見」綁定支持根據用戶在頁面上的交互來顯示錶單。無論何時創建jqueryUI主題,乾淨的方式是什麼?
我在我的DOM後初始化的底部得到這個UI主題不適用:jQuery的使用knockout.js時隱藏/顯示
$("button, input:submit, input:button").button();
這工作正常,屏幕上所有的按鈕,但稍後顯示的按鈕不適用主題。我在knockout.js中使用「可見」綁定支持根據用戶在頁面上的交互來顯示錶單。無論何時創建jqueryUI主題,乾淨的方式是什麼?
不,它不會,因爲除非您繼續重新應用您擁有的jquery按鈕代碼,否則不會轉換新按鈕。
然而,有一種更好的方式與處理程序,例如做,我用這個...
ko.bindingHandlers.button = {
init: function (element, valueAccessor, allBindingsAccessor) {
var options = allBindingsAccessor().buttonOptions || {};
$(element).button(options);
ko.utils.domNodeDisposal.addDisposeCallback(element, function() {
$(element).button("destroy");
});
}
};
現在你可以綁定的東西是按鈕。例如
<button data-bind='button:{}, buttonOptions:{icons: {primary: "ui-icon-pencil"}}' onclick="">
不錯,但爲什麼不把選項放在按鈕綁定上,只使用valueAccessor? –
你可以發佈一個小提琴,顯示問題? –