我搜索了网并尝试了不同的方法,但点击功能有时会触发,有时则不会。
这是我的HTML代码
<input type="radio" data-bind="checked:a,checkedValue: 0, click: radio('dance','a')" id="a_normal" ><span class="OptionsTextProperties"> Normal </span>
<input type="radio" data-bind="checked:a, checkedValue: 1 , click: radio('dance','a')" id="a_abnormal" ><span class="OptionsTextProperties"> Abnormal </span>
这是我试图调用的函数
radio : function(key,key1)
{
console.log(key,key1);
return;
},
大多数情况下,上述功能会触发,但有时当我点击按钮时没有任何反应。 我还使用了 bind ,但是没有检查单选按钮。不确定是什么问题。我在stackoverflow上也经历了很多链接。也许我做错了,我无法指出。 谢谢你的帮助
答案 0 :(得分:0)
radio('dance','a')
数据绑定中使用它, click
必须返回一个函数。
更重要的是:您不应该在复选框上绑定click
事件。您可以使用键盘检查复选框;你会想念那些。
使用淘汰赛时,subscribe
最好是数据绑定值:
var vm = {
checked: ko.observable(false)
};
vm.checked.subscribe(function onCheck() {
console.log("Click!");
});
ko.applyBindings(vm);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<label>
<input type="checkbox" data-bind="checked: checked">
A checkbox
</label>
如果你需要通过一个事件进行绑定,我建议改为使用change
事件。