Knockoutjs 单击绑定停止工作
Knockoutjs click binding stopped working
我在 knockoutjs 点击绑定时遇到问题,它似乎已经停止工作,我不知道为什么。单击绑定位于模板中,如下所示。
我正在使用的版本
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.1.0/knockout-min.js"></script>
我的模板
<ul id="runners" data-bind="template: {name:'runner-template', foreach:employees}"></ul>
<script type="text/html" id="runner-template">
<li class="runner" data-bind="click: runnerSelected.bind($data, Id(), Name())">
<span data-bind='text: Name'></span>
</li>
</script>
我的 JavaScript 函数存在于我的视图模型之外
function runnerSelected(id, name) {
sponsoredRunner.id = id;
sponsoredRunner.name = name;
$("#sponsoredRunner").html(name);
console.log('~~ click on selected runner ['+JSON.stringify(sponsoredRunner)+']');
}
我从异步调用加载视图模型
var temp = {};
temp.employees = [];
for(var i=0 ; i<result.employees.length ; i++) {
temp.employees.push(result.employees[i]);
}
var results = ko.mapping.fromJS(temp);
ko.cleanNode(document.getElementById('runners'));
ko.applyBindings(results, document.getElementById('runners'));
控制台中没有输出让我知道问题出在哪里。
有什么想法吗?
这个问题无关,我在 setTimeout 上使用 jquery.blur() 隐藏了 ul 元素。超时是 100 毫秒,事实证明,这是在比赛中进行 jquery 和淘汰赛。
在此过程中,代码也变得更加干净,因此发布是为了完整性。
<ul id="runners" data-bind="template: {name:'runner-template', foreach:employees}"></ul>
<script type="text/html" id="runner-template">
<li class="runner" data-bind="click: $parent.runnerSelected">
<span data-bind='text: Name'></span>
</li>
</script>
还有javascript..
result.runnerSelected = function(data,event) {
$("#runners").hide();
sponsoredRunner.id = data.Id;
sponsoredRunner.name = data.Name;
$("#sponsoredRunner").html(sponsoredRunner.name);
}
ko.cleanNode(document.getElementById('runners'));
ko.applyBindings(result, document.getElementById('runners'));
相关文章:
- OnsenUI AngularJS数据绑定无法正常工作
- iOS鼠标中心绑定只工作一次
- ng绑定html不工作
- AngularJS绑定没有'在没有填充父范围的情况下无法工作
- 双向绑定不会;我不在ES6工作
- 与未在发布模式下工作的子目录和区域绑定
- 如何使绑定提交始终有效?它'It’他不时地工作
- 与 Angular 1.5 的单向数据绑定类似于双向工作
- 使用 Angular 和 UI-bootstrap 对模态事件绑定无法工作的指令
- 绑定'滚动'不会'我在IE 11中不工作
- 无法调用方法“”;getEditResponseUrl"当使用表单ID打开表单时,绑定到工作表的Google
- 在表单提交将DOM的一部分替换为分部之后,我应该将ajax成功绑定到什么来使我的javascript工作
- 如何使Select2自动完成工作内foreach绑定的淘汰
- 从服务器端将属性绑定到套接字对象;似乎不能正常工作
- 角度双向绑定未按预期工作
- 如果快速切换,ng类在绑定变量上不能很好地工作,这可能吗
- 如何在 KnockOut.js 中停止多重绑定
- Knockoutjs 单击绑定停止工作
- 当数组具有重复值时,角度数据绑定将停止工作
- 使用PagerJS的KnockoutJS在数据绑定后停止工作