使用"这个"在javascript函数中

时间:2014-12-14 21:05:02

标签: javascript jquery

我有一个如下功能:

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>

2 个答案:

答案 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>

thiseditIncome的值将是HTML元素。

答案 1 :(得分:0)

当你有$(“。editIncome”),$(this)意味着$(“。editIncome”),它是快捷方式,但当你删除$(“。editIncome”)时,$(this)指向什么