jquery焦点未设置在Firefox上

jquery focus not setting on firefox

本文关键字:Firefox 设置 焦点 jquery      更新时间:2023-09-26

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

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

但它不起作用。实际上,当我按下鼠标按钮时,它出现了,但是当我向上鼠标时,它会从文本区域中删除。所以经过大量搜索,我找到了 setTimout 方法,例如:

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

但它仍然无法在火狐中工作。我有最新的 13.0 版本,但它仍然包含问题,但谷歌浏览器它工作正常。火狐有什么问题,有什么解决方案吗?

提前谢谢。

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

试试这个:

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

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

$this没有任何意义。你应该使用 $(this),或者你可以设置一个这样的变量-

var $this=$(this)

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

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

它变得可聚焦。

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