插入符号/光标不是[真正]使用JQuery在.focus()之后获取焦点
我试图在用户从“自动完成”下拉列表中选择一个值后(使用jquery),将焦点设置到下一个输入框 代码如下所示: 函数showElement(elementName){ $(elementName).show('blind',onElementDisplay(elementName)); } 因此,我希望看到光标/插入符号在函数末尾显示的元素上闪烁,因此用户可以开始输入,但是,这不会发生插入符号/光标不是[真正]使用JQuery在.focus()之后获取焦点,jquery,focus,caret,setfocus,Jquery,Focus,Caret,Setfocus,我试图在用户从“自动完成”下拉列表中选择一个值后(使用jquery),将焦点设置到下一个输入框 代码如下所示: 函数showElement(elementName){ $(elementName).show('blind',onElementDisplay(elementName)); } 因此,我希望看到光标/插入符号在函数末尾显示的元素上闪烁,因此用户可以开始输入,但是,这不会发生 这里缺少什么?第二个参数是回调(类型函数)。您正在将onElementDisplay的返回值传递给它,该返回值
这里缺少什么?第二个参数是回调(类型函数)。您正在将
onElementDisplay
的返回值传递给它,该返回值将是未定义的
添加匿名函数包装器
function showElement(elementName) {
$(elementName).show('blind', function(){
onElementDisplay(elementName);
});
}
function onElementDisplay(elementName) {
$(elementName).focus();
}
不幸的是,这不是问题所在。即使在这个例子中,插入符号也不会被放在下一个输入框中。
elementName
是正确的选择器吗?如果是id
,则必须以
开头。如果你的代码有另一个问题,我需要看更多来解决它。示例html,示例调用showElement
。
function showElement(elementName) {
$(elementName).show('blind', function(){
onElementDisplay(elementName);
});
}
function onElementDisplay(elementName) {
$(elementName).focus();
}