`
youzhibing
  • 浏览: 50332 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

js聚焦问题

阅读更多
实现的功能:输入框,保留原有内容并聚焦到文本末尾

遇到的问题:不能聚焦!即使是不管文本,也不能聚焦!

解决的过程:理论上先聚焦再赋值原来的内容,但是只是保留了原文本内容,却没有聚焦,更别说聚焦的位置了
 $(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偶尔不能聚焦
功能虽然实现,可不知其所以然!知道的朋友可以留个言指导下,不知道的朋友可以参考先解决问题!
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics