Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何设置标记it小部件的焦点?_Javascript_Jquery_Tag It - Fatal编程技术网

Javascript 如何设置标记it小部件的焦点?

Javascript 如何设置标记it小部件的焦点?,javascript,jquery,tag-it,Javascript,Jquery,Tag It,我只想在页面加载后让TagIt小部件具有焦点。我尝试过各种方法,比如: <script type="text/javascript"> $("#myTags").tagit("tagInput").click(); </script> $(“#myTags”).tagit(“tagInput”)。单击(); 及 $(“#myTags”).tagit(“tagInput”).focus(); 还有更奇特的事情,比如使用jQuery修改ID和调用 <s

我只想在页面加载后让TagIt小部件具有焦点。我尝试过各种方法,比如:

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

$(“#myTags”).tagit(“tagInput”)。单击();


$(“#myTags”).tagit(“tagInput”).focus();
还有更奇特的事情,比如使用jQuery修改ID和调用

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

$(“#newIDiTriedToMake”).focus();

我所做的一切似乎都没有让TagIt小部件获得键盘焦点。我必须通过我的页面点击标签,或者用鼠标手动点击标签,开始输入标签。有人能给我提供线索吗?

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

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

$(函数(){
$(“#myTags”).tagit(“tagInput”).focus();
});

当您有文档时,您应该集中精力。准备就绪:

<script type="text/javascript">
   $(document).ready(function(){
      $("#newIDiTriedToMake").tagit("tagInput").focus();
   })
</script>

$(文档).ready(函数(){
$(“#newIDiTriedToMake”).tagit(“tagInput”).focus();
})

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

我刚才补充说

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

标记它的_create()方法,该方法将焦点放在元素上,而不必求助于Javascripty。这是有效的。

您能简单地详细说明一下如何确保DOM在工作之前完成吗?Benjamin的答案可能正确,也可能不正确(我也没有尝试过),但他的答案似乎更像是自我记录。$(function()相当于$(document)。准备好了吗?这只是一个简写。我很喜欢你的“自动对焦”解决方案也是一样。我已经尝试使用这个建议来让它工作,而这似乎是我已经在做的事情。您可以在$(文档)中实例化tag it小部件.ready区域,所以我的解决方案似乎是唯一有效的。我承认,我将尝试沿着Ron的路线,因为修改元素的ID似乎被认为是不好的做法,直觉上这似乎是一个非常糟糕的主意。啊哈,我很确定这不会起作用,因为这正是我所做的。我应该给出代码上下文,但pla我在$(document.ready(f(){…})中修改ID和设置焦点的ce我尝试了其他建议的解决方案——尴尬地说,我没有真正提出我已经尝试过的原始问题。经过一些努力,我的解决方案是唯一可行的,所以我把我自己的答案称为答案。尽管我投票支持你的答案,但要知道“自动聚焦”在HTML5中是新的。尽管我非常讨厌我的答案最后,我认为我自己的答案是正确的,这是我唯一能做的事情,注意到罗恩的警告:这是HTML5。这里有一个悲伤的记忆。
this.tagInput.attr('autofocus', 'autofocus');