【问题标题】:Click binding not working点击绑定不起作用
【发布时间】:2011-09-24 19:38:07
【问题描述】:

click 绑定有问题。我正在尝试从 Knockout 网站运行一些示例代码,但它不起作用。点击次数没有更新。我在 Firefox 中没有收到任何 javascript 错误。有人可以帮忙吗?

这是我的代码:

<head runat="server">
    <script type="text/javascript" src="/Scripts/jquery-1.6.4.js"></script>
    <script type="text/javascript" src="/Scripts/jquery.tmpl.js"></script>  
    <script type="text/javascript" src="/Scripts/knockout-1.2.1.js"></script>
    <script type="text/javascript">
        var clickCounterViewModel = function () {
            this.numberOfClicks = ko.observable(0);

            this.registerClick = function () {
                this.numberOfClicks(this.numberOfClicks() + 1);
            }

            this.hasClickedTooManyTimes = ko.dependentObservable(function () {
                return this.numberOfClicks() >= 3;
            }, this);
        };

        ko.applyBindings(new clickCounterViewModel());
    </script>
</head>
<body>
<div>You've clicked <span data-bind="text: numberOfClicks">&nbsp;</span> times</div>

<button data-bind="click: registerClick, enable: !hasClickedTooManyTimes()">Click me</button>

<div data-bind="visible: hasClickedTooManyTimes">
    That's too many clicks! Please stop before you wear out your fingers.
    <button data-bind="click: function() { numberOfClicks(0) }">Reset clicks</button>
</div>

</body>

【问题讨论】:

    标签: jquery templates knockout.js


    【解决方案1】:

    您想将您的脚本标签移动到文档的底部或将其放入 onload/ready 函数中。您至少需要 ko.applyBindings 才能在 DOM 的其余部分加载后执行。

    【讨论】:

    • 哇...这让我难过了一阵子。谢谢!!!这是淘汰赛示例代码......我希望他们已经指定! @RP 尼迈耶
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 1970-01-01
    • 1970-01-01
    • 2016-12-29
    • 1970-01-01
    • 2013-01-23
    相关资源
    最近更新 更多