我在后 DOM 初始化的底部有这个:
$("button, input:submit, input:button").button();
这适用于屏幕上的所有按钮,但稍后显示的按钮没有应用主题。我正在使用 knockout.js 中的“可见”绑定支持来根据页面上的用户交互显示表单。无论何时创建,将 jqueryUI 主题应用于所有内容的干净方法是什么?
我在后 DOM 初始化的底部有这个:
$("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="">