我正在使用jQuery live()
函数来更改表单文本输入的边框颜色,以便用户更好地指示他们当前正在键入的元素。我更容易使用live()
超过bind()
,因为在某些情况下会动态地将新表单输入插入到页面中。
从阅读jQuery documentation for live()
我理解每个处理程序必须返回false以防止其他处理程序执行。无论我是否误解了这实际意味着什么,这里是我必须添加的代码并从表单输入中删除边框颜色。
$('input.highlight').live({
focus: function() {
$(this).parent('span').addClass('input-focus');
return false;
},
blur: function() {
$(this).parent('span').removeClass('input-focus');
return false;
}
});
这在Chrome和Safari中非常有效,但在Firefox中,闪烁的文本光标在有焦点时不会出现在表单输入中。如果我删除它显示的return false;
。这可能是我遇到的jQuery错误吗?
答案 0 :(得分:1)
$('input.highlight').live({
focus: function() {
$(this).parent('span').addClass('input-focus');
$(this).focus();
return false;
},
blur: function() {
$(this).parent('span').removeClass('input-focus');
return false;
}
});
希望这有帮助。