事件代表团捕获容器上的事件,而只是调用回调函数,如果目标元素或父母之一有一定的选择。要委派一个事件,您使用.on()
将事件附加到父项,但添加第二个参数,该参数声明目标。例如:
$('.table') // container
/* event , target, handler */
.on('click', '.up' , function() {});
您应该将事件处理程序附加到密闭容器中,.table
或事件.table > tbody
,如果你想绑定忽略标题。
演示(fiddle):
$(function() {
$('.table')
.on('click', '.up', function() {
var element = $(this);
var count = element.closest('tr').find('.times').attr('data-myval');
count++;
if (count > 4) {
count--;
$('#max').modal('show');
element.closest('tr').find('.times').text(4 + ' x ');
}
element.closest('tr').find('.times').attr('data-myval', count);
element.closest('tr').find('.times').text(count + ' x ');
})
.on('click', '.down', function() {
var element = $(this);
var count = element.closest('tr').find('.times').attr('data-myval');
count--;
parseInt(element.closest('tr').find('.times').attr('data-myval', count))
element.closest('tr').find('.times').text(count + ' x ');
if (count < 2) {
element.closest('tr').find('.times').text('');
}
if (count < 1) {
element.parents('tr').remove();
}
});
});
你必须要父母的参考 – RRR
您应该()'文档更仔细地阅读jQuery的'。您必须将字符串选择器和绑定事件传递给任何静态容器 –