有了這個小提琴...從淘汰賽防止點擊氣泡託運結合
http://jsfiddle.net/jeljeljel/5skHX/
...通知的時候,「按我」鏈接被點擊,tbody元素處理click事件冒泡從td元素。但是,當您單擊複選框時,點擊處理程序仍然被調用。如何防止從複選框冒泡的點擊事件?
HTML
<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>
JAVASCRIPT
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);
});
是的,我看到了,但從我的處理程序返回'真'沒有解決問題。 –
你需要'click:function(){return true; },clickBubble:false':http://jsfiddle.net/Q8sRF/ – nemesv
是的!這就是答案。謝謝! –