jquery焦点没有在firefox上设置

时间:2012-06-08 10:02:17

标签: javascript jquery

我想将焦点设置到我的文本区域。以下是我的代码:

$this.textInput.val('').show().focus();

但它不起作用。实际上,当我按下鼠标按钮时,它会出现,但是当我将鼠标按下时,它会从文本区域移除。经过大量的搜索,我发现了setTimout方法,如:

$this.textInput.mouseover(function(){                                
setTimeout($this.focus(),0);
});

但它还没有在firefox中运行。我有最新的13.0版本,但它仍然包含问题,但谷歌铬它正常工作。 firefox有什么问题可以解决它。

提前致谢。

4 个答案:

答案 0 :(得分:5)

使用.trigger('focus')。我发现它有时比.focus()更好。

答案 1 :(得分:2)

试试这个:

$('#textareaid').click(function(){
                $(this).after('focused?');
                el = $(this);
                setTimeout(function(){
                    el.trigger('focus')
                },1);
            })

使用.click方法。我会为你工作。

答案 2 :(得分:0)

$ this 并不意味着什么。您应该使用 $(this),或者您可以设置这样的变量 -

var $this=$(this)

答案 3 :(得分:0)

并非所有元素都是可聚焦的,但默认情况下,有一个tabindex属性可以解决这个问题。

tabindex=<number>分配给元素时:

它变得可以专注。

用户可以使用Tab键从具有较小正tabindex的元素移动到下一个元素。异常是一个特殊值tabindex="0"意味着该元素将始终是最后一个。 tabindex=-1表示元素变为可聚焦,但tab键将始终跳过它。只有focus()方法才有效