我想使用此事件处理程序来运行传入这些参数的函数。
$('#checkingDeposit').on('click', { amount: 100, account: 'savings' }, bank.deposit);
deposit: function(event, amount, account) {
console.log('deposit running');
console.log(event.data); //object of key value pairs
console.log(event.data.account); //output 'savings'
console.log(event.data.amount); //output 100
this[event.data.account] += event.data.amount;
console.log(this[event.data.account]); //NaN
return this[event.data.account];
}
我尝试console.log this[event.data.account]
时是否得到NaN,因为我试图将字符串(即“储蓄”)传递给此对象?
预先感谢 布拉德
答案 0 :(得分:1)
必须将函数或函数引用传递给事件绑定表达式,因此,如果需要传递参数,可以将实际的函数调用(带有参数)包装在匿名函数中,然后将其传递给事件绑定表达式。 / p>
exWord = "++"
let bank = {
deposit:50
};
$('#checkingDeposit').on('click', function(event) {
deposit(event, {amount:100, account:'savings'}, bank.deposit)
});
function deposit(event, obj, account){
console.log('deposit running');
console.log(obj.account); //output 'savings'
console.log(obj.amount); //output 100
}