jquery:如何将表单元素信息传递给另一个函数?

时间:2012-04-11 19:07:48

标签: javascript jquery forms function

我正在尝试在表单元素模糊上做一些事情。我遇到的问题是将元素的信息(如ID,类等)传递给第二个函数。我为此示例简化了它:

function otherfunction() {
    var inputID = $(this).attr("id");
    alert(inputID);
}


$(".formelement").blur(function () { 

// Do some stuff here

otherfunction();

}); 

当然,警告框表示inputID未定义。如何将元素的信息传递给其他函数?

3 个答案:

答案 0 :(得分:3)

将输入作为参数传递:

function otherfunction(el) {
    var inputID = $(el).attr("id");
    alert(inputID);
}


$(".formelement").blur(function () {
    // Do some stuff here

    otherfunction(this);
}); 

或者,使用Function.prototype.apply

function otherfunction() {
    var inputID = $(this).attr("id");
    alert(inputID);
}


$(".formelement").blur(function () {
    // Do some stuff here

    otherfunction.apply(this);
}); 

答案 1 :(得分:2)

在以下情况下使用$.proxy

$(".formelement").blur($.proxy(otherfunction, this));

另外javascript是callapply

$(".formelement").blur(function () { 

    // Do some stuff here

    otherfunction.call(this); // or otherfunction.apply(this); 
});

答案 2 :(得分:0)

我想你可以这样使用:

function otherfunction(obj) {
    var inputID = $(obj).attr("id");
    alert(inputID); }


$(".formelement").blur(function () { 

otherfunction($(this));

});