在Knockout.js加载内容后调用jQuery函数

时间:2013-10-31 12:11:02

标签: jquery knockout.js

我有一些内容从knockout.js加载:

<div class="knockout-text">
    <label data-bind="html: myText"></label>
</div>

我想添加一些jQuery来检查这个标签的高度,如果它超过100px,添加一个更多的读取切换。

我的问题是我似乎无法在页面底部添加一段脚本,因为它将在调用Knockout内容之前调用。

任何人都可以告诉我如何调用这个jQuery片段AFTER淘汰赛已经加载了内容。

(请注意我没有使用knockout.js的经验,其他人最初编码这个,我正在尝试添加更多功能)

非常感谢!

1 个答案:

答案 0 :(得分:5)

可能最简单的方法是创建自定义绑定(http://jsfiddle.net/C66ab/1/,检查控制台)

HTML:

<div class="knockout-text">
    <label data-bind="html: myText, detectHeight:{}"></label>
</div>

JS:

var VM = function(){
    var self = this;
    self.myText = "lorem lorem...<br/>asdad";
}


    ko.bindingHandlers.detectHeight = {
        init: function(element, valueAccessor, allBindingsAccessor, viewModel) {
            console.log($(element).css("height"))
        }
    };

    ko.applyBindings(new VM());