4

我只是想让 tag-it 小部件在页面加载后获得焦点。我尝试了各种方法,例如:

<script type="text/javascript">
    $("#myTags").tagit("tagInput").click();
</script>

<script type="text/javascript">
    $("#myTags").tagit("tagInput").focus();
</script>

甚至更奇特的东西,比如使用 jQuery 修改 ID 和调用

<script type="text/javascript">
    $("#newIDiTriedToMake").focus();
</script>

我所做的一切似乎都没有将键盘焦点放在 tag-it 小部件上。我必须通过我的页面来选择它,或者用鼠标手动单击它以开始输入标签。有人对我有线索吗?

4

3 回答 3

1

我认为你们都在轨道上,当我试图设置焦点时,文档还没有完成构建(因此元素可能不存在)。但是,我用简单的方法解决了这个问题:编辑源代码。

我刚刚添加

this.tagInput.attr('autofocus', 'autofocus');

到 tag-it 的 _create() 方法,它把焦点放在元素上,而不必求助于 Javascripty 的优点。这行得通。

于 2013-05-01T23:35:44.427 回答
0

我认为您所缺少的只是在设置焦点之前构建 DOM。也就是说,如果 .tagit("tagInput") 引用了一个可聚焦的元素。你可以试试:

<script type="text/javascript">
     $(function() {
        $("#myTags").tagit("tagInput").focus();
    });
</script>
于 2013-05-01T23:28:29.223 回答
0

当你有一个 document.ready 时,你应该专注:

<script type="text/javascript">
   $(document).ready(function(){
      $("#newIDiTriedToMake").tagit("tagInput").focus();
   })
</script>
于 2013-05-01T23:29:24.197 回答