【问题标题】:Caret / Cursor is not [really] take focus after .focus() using JQueryCaret / Cursor 在.focus() 使用JQuery 之后不是[真的] 获得焦点
【发布时间】:2011-10-10 09:53:13
【问题描述】:

在用户从自动完成下拉菜单中选择一个值后(使用 jquery),我正在尝试将焦点设置到下一个输入框。

所以代码如下所示:

函数显示元素(元素名称){ $(elementName).show('blind', onElementDisplay(elementName)); }

 function onElementDisplay(elementName) {
     $(elementName).focus();
 }

所以我希望看到光标/插入符号在函数末尾显示的元素上闪烁,因此用户可以开始输入,但是,它不会发生。

我在这里缺少什么?

【问题讨论】:

    标签: jquery focus caret setfocus


    【解决方案1】:

    第二个参数是一个回调(函数类型)。您将onElementDisplay 的返回值传递给它,这将是undefined

    添加匿名函数包装器。

    function showElement(elementName) { 
        $(elementName).show('blind', function(){
            onElementDisplay(elementName); 
        });
    }
    
    function onElementDisplay(elementName) {
        $(elementName).focus();
    }
    

    【讨论】:

    • 不幸的是,这不是问题所在。即使在此示例中,插入符号也不会被放置在下一个输入框中。
    • 那么,elementName 是一个合适的选择器吗?如果它是id,它必须以# 开头。如果您的代码还有其他问题,我将需要查看更多内容来修复它。 html示例,调用showElement的示例。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-19
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多