0

我在后 DOM 初始化的底部有这个:

$("button, input:submit, input:button").button();

这适用于屏幕上的所有按钮,但稍后显示的按钮没有应用主题。我正在使用 knockout.js 中的“可见”绑定支持来根据页面上的用户交互显示表单。无论何时创建,将 jqueryUI 主题应用于所有内容的干净方法是什么?

4

1 回答 1

1

不,它不会,因为除非您继续重新应用那里的 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="">
于 2012-05-28T22:08:35.057 回答