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