如何在JavaScript中的另一个原型函数onclick
事件中调用原型函数?
function foo(){
this.table = '';
}
foo.prototype.abc = function(){
this.table = document.getElementById("tableID");
if (table != null) {
for (var i = 0; i < table.rows.length; i++) {
for (var j = 0; j < table.rows[i].cells.length; j++)
table.rows[i].cells[j].onclick = function () {
this.xyz(this);
};
}
}
}
foo.prototype.xyz = function(tableCell){
alert(tableCell.innerHTML);
}
如果我只是调用此tableText
函数而不是this.xyz
它可以正常工作,但使用this.xyz
会在控制台中发现错误this.xyz(this)
不是函数
function tableText(tableCell) {
alert(tableCell.innerHTML);
}
我的浏览器显示错误但不显示JSFiddle JS Fiddle
答案 0 :(得分:1)
在这段代码中:
var send=true;
$('.input-group.date').datepicker({
todayBtn: "linked",
keyboardNavigation: false,
forceParse: false,
language: 'es-ES',
weekStart: 1,
format: 'dd/mm/yyyy',
enableOnReadonly:false,
calendarWeeks: true,
autoclose: true,
todayHighlight:true
}).on("changeDate", function(e) {
if(send){
modificarFechaAplicacionCliente($("#input_filtro_fecha_cliente").val());
send=false;
}
setTimeout(function(){send=true;},200);
});
table.rows[i].cells[j].onclick = function () {
this.xyz(this);
};
代表this
HTML对象,而不是td
。您必须保留foo
的引用并将其传递给foo
函数,如下所示:
onclick