0
我有一个自定义knockout绑定装置,我希望在加载页面时自动装载。Autosize加载时自定义装订自动装订
这是问题的代码
例的fiddle:
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事件,但我无法弄清楚何时何地。
感谢
感谢男人的魅力 – Armand 2013-02-25 12:29:05
上面的例子不起作用,因为jquery auto resize的路径被解析为404.即使使用正确的路径,它可以在第一次加载时工作,但在尝试键入文本区域时似乎会崩溃。不知道海报,但这是我需要的自动调整大小。 http://jsfiddle.net/3p9bj/24/ – MrB 2013-09-15 02:48:54