我有一个用于jquery autosize的自定义敲除绑定,我希望在页面加载时自动调整大小。
这是问题的一个小提琴
代码示例:
ko.bindingHandlers.autogrow = {
init: function (element, valueAccessor, allBindingsAccessor) {
ko.utils.registerEventHandler(element, 'focusout', function () {
var observable = valueAccessor();
observable($(element).val());
});
ko.utils.domNodeDisposal.addDisposeCallback(element, function () {
$(element).data('autosize').remove();
});
$(element).autosize({ append: "\n" });
$(element).focus(function () {
$(element).trigger('autosize');
});
},
update: function (element, valueAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor());
$(element).val(value);
$(element).trigger("autosize");
}
};
var vm = {};
vm.Data = ko.observable("This is a lot of text and has to display correctly");
ko.applyBindings(vm);
html示例:
<textarea id="autogrow" class="text-nm span2" data-bind="autogrow: Data"></textarea>
发生的情况是我有很多文本要显示在文本区域中,但每次的数量都不同,所以我没有设置的数量可以显示我事先知道的。我想要做的是在应用了淘汰赛绑定之后,我想触发 autosize 插件的 autosize 事件,但我不知道何时何地。
谢谢