当事件处理程序设置一个非匿名函数时,然后通过访问$(this)
对象发生错误。
function TextBoxChangeEventHandler(id)
{
var value = $(this).val();
//...do something
}
$("#object_position :input[type='text']")
.on("change", function(){TextBoxChangeEventHandler("id");});
//other some object set TextBoxChangeEventHandler...
错误日志:
未捕获的TypeError:无法读取未定义的属性“ toLowerCase”
的jquery-2.1.1.min.js:4
有解决方法吗?
最佳答案
您可以使用.call()传递自定义执行上下文
function TextBoxChangeEventHandler() {
var value = $(this).val();
//...do something
}
$("#object_position :input[type='text']").on("change", function () {
TextBoxChangeEventHandler.call(this);
//with the update
TextBoxChangeEventHandler.call(this, 'id');
});