1

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

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

我想添加一点 jQuery 来检查这个标签的高度,如果它超过 100 像素,请添加一个阅读更多切换。

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

谁能告诉我如何在淘汰赛加载内容后调用这个 jQuery 片段。

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

非常感谢!

4

1 回答 1

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());
于 2013-10-31T12:19:37.520 回答