js聚焦问题

4 篇文章 0 订阅
2 篇文章 0 订阅
[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偶尔不能聚焦
功能虽然实现,可不知其所以然!知道的朋友可以留个言指导下,不知道的朋友可以参考先解决问题!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值