Javascript 防止敲除选中绑定中的单击气泡
用这把小提琴 …请注意,单击“单击我”链接时,tbody元素将处理从td元素冒泡的单击事件。但是,当您单击复选框时,仍会调用单击处理程序。如何防止单击事件从复选框冒泡 HTMLJavascript 防止敲除选中绑定中的单击气泡,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,用这把小提琴 …请注意,单击“单击我”链接时,tbody元素将处理从td元素冒泡的单击事件。但是,当您单击复选框时,仍会调用单击处理程序。如何防止单击事件从复选框冒泡 HTML 这就是你想要的吗?是的,我看到了,但是从我的处理程序返回'true'并不能解决问题。你需要两个函数:click:function{return true;},clickBubble:false:Yes!这就是答案。谢谢!这是可行的,但是对于这个解决方案,我需要将click处理程序附加到tbody。这不是用于Knockou
这就是你想要的吗?是的,我看到了,但是从我的处理程序返回'true'并不能解决问题。你需要两个函数:click:function{return true;},clickBubble:false:Yes!这就是答案。谢谢!这是可行的,但是对于这个解决方案,我需要将click处理程序附加到tbody。这不是用于Knockout的正确答案。
<table>
<thead>
<tr>
<th></th>
<th>Col 1</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<input type="checkbox" data-bind="checked: itemSelected" />
</td>
<td>[Click me]</td>
</tr>
</tbody>
</table>
<div id="clicks" data-bind="text: clicks"></div>
function Model() {
var self = this;
self.value = ko.observable();
self.clicks = ko.observable(0);
self.itemSelected = ko.computed({
read: function () {
return self.value();
},
write: function (value) {
self.value(value);
return true;
},
deferEvaluation: true
});
}
var model = new Model();
ko.applyBindings(model);
$('tbody').click(function () {
model.clicks(model.clicks() + 1);
});
...
<td id="clickmeID">[Click me]</td>
...
$('#clickmeID').click(function () {
model.clicks(model.clicks() + 1);
});