javascript - 如何在运行时动态关注输入元素

标签 javascript jquery html knockout.js

我想在运行时动态关注输入元素。我将传递输入名称运行时,然后它应该相应地集中输入。

这是输入元素的代码

<input type="text" id="txtNameOfEmp" data-bind="event: { blur: ValidateName.bind($data,txtNameOfEmp) } " />

然后在我的 View 模型中,我尝试将焦点如下

    self.ValidateName = function (val) {
        var inputName = val.id;

            // some logic for validation
            alert("Name is not valid");
            $("'#" + inputName + "'").focus()

    };

我收到错误

JavaScript runtime error: Syntax error, unrecognized expression: '#txtNameOfEmp'

如何动态对焦?

更新1

我也在下面尝试过,但它没有给出错误,但也没有设置任何焦点

$(inputName).focus();

最佳答案

你的引言太多了。您不需要任何内容​​,因为您已将 id 包装在变量中。

试试这个:

$("#" + inputName).focus()

关于javascript - 如何在运行时动态关注输入元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27542479/

相关文章:

javascript - 与用户创建内容的数据绑定(bind)/交互

javascript - 如何在riotjs中使用each={}正确引用 'nested'标签

javascript - htmlWebPack 插件 publicPath 没有按预期工作

javascript - JS 文件未加载到 html 中

html - 如何在文本字段值中添加图像

html - 删除表格单元格之间的空格

javascript - jQuery 动态选择内容

javascript - replaceWith 后的 jQuery 加载事件

javascript - 用于打印的 Bootstrap css 仅以黑白打印

javascript - 无法识别 JQUERY datetimepicker onSelect