我正在尝试将变量(存在于全局范围内)传递给函数(存在于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
})
答案 0 :(得分:0)
当事件在具有您尝试检索的值的元素上引发时,您可以使用this
引用来获取它:
$("#firstName").on("blur keyup paste", function(){
var firstname = this.value; // or $(this).val();
});
关于on
的用法,当您附加事件的元素存在于DOM中时,将使用您的第一个示例。第二种方法是当元素尚不存在时,但将来可能会存在。您应该为主选择器使用最近的静态父元素,而不是document
。