欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js聚焦问题

程序员文章站 2024-02-10 14:29:58
...
[color=blue]实现的功能[/color]:输入框,保留原有内容并聚焦到文本末尾

[color=red]遇到的问题[/color]:不能聚焦!即使是不管文本,也不能聚焦!

[color=cyan]解决的过程[/color]:理论上先聚焦再赋值原来的内容,但是只是保留了原文本内容,却没有聚焦,更别说聚焦的位置了

$(document).ready(function(){
//回车事件
$("#right_input_search_name").keydown(function(event)
{
if (event.keyCode == 13)
{
searchRights();
$("#right_input_search_name").focus().val($("#right_input_search_name").val());
}
});
});

没有聚焦!!
后面尝试着加了一句alert

$(document).ready(function(){
//回车事件
$("#right_input_search_name").keydown(function(event)
{
if (event.keyCode == 13)
{
searchRights();

alert("test");
$("#right_input_search_name").focus().val($("#right_input_search_name").val());
}
});
});

想要的结果出来了------聚焦到文本末尾了,可不想要的结果也出现了------多了个弹出框!

后来有网友给了种方案

$(document).ready(function(){
//回车事件
$("#right_input_search_name").keydown(function(event)
{
if (event.keyCode == 13)
{
searchRights();
setTimeout(function()
{
$("#right_input_search_name").focus().val($("#right_input_search_name").val());
}, 600);
}
});
});

600毫秒后再去聚焦到文本末尾;
至此功能实现,可测试过程发现,setTimeout设置的时间太小不能聚焦,小于500偶尔不能聚焦
功能虽然实现,可不知其所以然!知道的朋友可以留个言指导下,不知道的朋友可以参考先解决问题!
相关标签: focus jquery js