0
我有一个敲击视图模型函数,点击按钮时不会调用它。 可能我错过了一些东西。我正在运行VS2010 IDE的代码。我在jsfiddle和 测试相同的代码,它在那里工作,但是当我尝试从VS2010 IDE运行相同的代码,那么它不工作。任何帮助 将不胜感激。谢谢点击按钮时不会调用knockoutjs函数
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
#dash
{
max-height: 128px;
overflow: hidden;
}
#dash div
{
border: 1px solid #de2345;
padding: 4px;
margin: 2px;
line-height: 20px;
box-sizing: border-box;
}
#dash div:before
{
content: '--> ';
}
</style>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/knockout/knockout-3.3.0.js"/>
<script type="text/javascript">
function TableModel()
{
var self = this;
self.Counter = 1;
self.rows = ko.observableArray([]),
self.addRow = function() {
alert('pp');
self.rows.push(self.Counter + ' ' + new Date());
self.Counter++;
setTimeout(function() {
self.rows.shift();
self.Counter--;
}, 3000 + self.rows().length * 1000);
return false;
}
}
ko.applyBindings(new TableModel());
</script>
</head>
<body>
<form id="form1" runat="server">
<button id="button" data-bind="click: addRow" type="button">click</button>
<div id="dash" data-bind="foreach: rows">
<div data-bind="text:$data">
</div>
</div>
</form>
</body>
</html>
我只是简单地将你的代码粘贴到我的aspx表单中并运行它。然后我发现页面中没有任何可见所以请尝试首先在您的结尾运行您的代码,并告诉我它是否按预期工作。 – Mou
这是你原来的代码中的另一个错误:脚本标签不能被自封闭(http://stackoverflow.com/questions/69913/why-dont-self-closing-script-tags-work)。因此,将您的第一个脚本元素更改为''。我也更新了这是我的回答 – nemesv
很好地注意到脚本标记。它会导致问题。非常感谢 :) – Mou