我创建了一个validateName函数,它在我调用name.validateName()
时起作用;名称为var name = $("#name");
我需要如何将它与focusout事件绑定在一起?如果输入字段是焦点,我希望函数执行..
我试过了:
$(name).on('focusout', function(){
$(this).validateName();
)};
不工作..
答案 0 :(得分:1)
$(name)将导致$($('#name')):
$(name).on('focusout', function(){
validateName($(this).val());
)};
应该是这样的
name.on('focusout', function(){
validateName($(this).val());
)};
答案 1 :(得分:0)
它看起来像是我的上下文问题
据我所知,validateName
是包装对象中的一个函数,在事件处理程序this
内部指向dom元素而不是外部对象。
var self = this;
$(name).on('focusout', function(){
self.validateName();
)};
答案 2 :(得分:0)
你尝试过这样的事吗?
var name = $("#name");
function validateName(item) {
//do your validation here.
}
name.focusout(function() {
validateName(name);
});
希望有所帮助。