随着淘汰赛我有以下几点:阻止Javascript(击倒)
<!-- ko foreach: data.folders -->
<div class="study-box">
<input class="study-box-checkbox" type="checkbox" />
</div>
<!-- /ko -->
这给了我里面的复选框div的列表。我已将以下事件处理程序注册到学习框:
var bindEventToList = function (rootSelector, selector, callback, eventName) {
var eName = eventName || 'click';
$(rootSelector).on(eName, selector, function() {
var folder = ko.dataFor(this);
callback(folder);
return false;
});
};
bindEventToList(view, '.study-box', gotoDetails);
因此,单击学习框时,会触发goToDetails。
问题是,即使包含复选框被点击,该事件也会被触发。我不希望发生这种情况。复选框有自己的绑定:
<input class="study-box-checkbox" type="checkbox" data-bind="visible: checkboxIsVisible(), attr: { value: setId() }, attrIf: { id: 'study-box-checkbox-soft', _if: (softCheckboxIsVisible() && isSelected() == false) }, checked: isSelected" />
我认为一个选项是复选框定位的div之外,但随后就变成定位在每个格,从小事似乎远的顶部的复选框的问题。
这怎么解决?
的jsfiddle:http://jsfiddle.net/PTSkR/79/
JSFiddle此刻似乎处于关闭状态,但它听起来像是在div和输入上有点击处理程序?如果是这样,你看看['event.stopPropogation()'](http://api.jquery.com/event.stopPropagation/)? – GotDibbs