将变量传递给ON方法(在jquery中)

时间:2014-11-27 13:11:25

标签: javascript jquery function variables events

我正在尝试将变量(存在于全局范围内)传递给函数(存在于on方法中)。我正在将数据对象传递给on,但它无效。如果我在函数内部使用变量,它会起作用。

以下是代码:

var firstName = $("#firstName").val();
$("#firstName").on("blur keyup paste", {firstName: firstName}, function(){
    //access firstName
})

此外,使用on方法的最佳方法是什么。我应该像上面使用的那样使用它,还是应该像这样使用它?

var firstName = $("#firstName").val();
$(document).on("blur keyup paste", "#firstName", {firstName: firstName}, function(){
    //access firstName
})

1 个答案:

答案 0 :(得分:0)

当事件在具有您尝试检索的值的元素上引发时,您可以使用this引用来获取它:

$("#firstName").on("blur keyup paste", function(){
    var firstname = this.value; // or $(this).val();
});

关于on的用法,当您附加事件的元素存在于DOM中时,将使用您的第一个示例。第二种方法是当元素尚不存在时,但将来可能会存在。您应该为主选择器使用最近的静态父元素,而不是document