我有一个如下功能:
function editIncome(){
var id = $(this).data('id');
var amount = $(this).data('amount');
var name = $(this).data('name');
var user = $(this).data('user');
$('input[name="income_id"]').val(id);
$('input[name="income_name"]').val(name);
$('input[name="income_amount"]').val(amount);
$("#incomeEdit").modal('show');
}
我最近将其从$(".editIncome").click(function(){...});
更改为function editIncome(){...}
,现在$(this)
调用未在函数中加载任何内容。
我的问题是如何通过函数调用再次使用它?如何在函数上使用this
关键字?我有多个具有相同.editIncome
类的项目,因此我需要选择一个被点击的项目。
我通过这样做来调用该函数:<a class="list-group-item editIncome" onclick="editIncome();" href="#">...</a>
答案 0 :(得分:1)
直接传递函数名称:
$(".editIncome").click(editIncome);
或者在调用函数时,使用call在函数内设置this
的值:
$(".editIncome").click(function() {
editIncome.call(this);
});
自更新以来:
<a class="list-group-item editIncome" onclick="editIncome.call(this)" href="#">...</a>
this
内editIncome
的值将是HTML元素。
答案 1 :(得分:0)
当你有$(“。editIncome”),$(this)意味着$(“。editIncome”),它是快捷方式,但当你删除$(“。editIncome”)时,$(this)指向什么