TextBoxChangeEventHandler

TextBoxChangeEventHandler

当事件处理程序设置一个非匿名函数时,然后通过访问$(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');
});

09-16 02:25