js聚焦问题
程序员文章站
2024-02-10 14:29:58
...
[color=blue]实现的功能[/color]:输入框,保留原有内容并聚焦到文本末尾
[color=red]遇到的问题[/color]:不能聚焦!即使是不管文本,也不能聚焦!
[color=cyan]解决的过程[/color]:理论上先聚焦再赋值原来的内容,但是只是保留了原文本内容,却没有聚焦,更别说聚焦的位置了
没有聚焦!!
后面尝试着加了一句alert
想要的结果出来了------聚焦到文本末尾了,可不想要的结果也出现了------多了个弹出框!
后来有网友给了种方案
600毫秒后再去聚焦到文本末尾;
至此功能实现,可测试过程发现,setTimeout设置的时间太小不能聚焦,小于500偶尔不能聚焦
功能虽然实现,可不知其所以然!知道的朋友可以留个言指导下,不知道的朋友可以参考先解决问题!
[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偶尔不能聚焦
功能虽然实现,可不知其所以然!知道的朋友可以留个言指导下,不知道的朋友可以参考先解决问题!