我想要一个表,当在tbody中单击tr
时,会调用一个函数来向控制台写入内容。我希望这个对象是这样的
function FancyTable(table) {
this.rows = $(table).find('tbody tr');
//need to add the behavior in the event handler somewhere here
this.rows.click = function () {
console.log('clicked');
}
}
FancyTable.prototype.getData = function (tr) {
var row = $(tr);
console.log(row.text());
}
var fancyTable = new FancyTable('#table1');
//Need to keep this behavior
$('#table1 tbody tr').click(function () {
console.log('this needs to be attached to the FancyTable object');
});
我希望将所有点击行为封装在FancyTable对象中,而不必在页面中添加click事件处理程序。做这样的事情的基本方法是什么? Fiddle
节日快乐:)
答案 0 :(得分:1)
click
成员是一个采用回调函数的方法,您不会将新函数分配给click
来绑定事件。
使用事件处理程序作为参数调用click
,就像在页面中绑定事件时一样:
this.rows.click(function () {
console.log('clicked');
});