Discuz! X3.* 消息页面中输入收件人时输入框失去焦点的解决办法
分类 网站技术/村民张先生 发布于 2020-01-03 04:16
在 home.php?mod=spacecp&ac=pm 消息页面中,输入收件人时会自动检索好友,例如输入s,如果有用户名为s开头的好友时,就会弹出一个提示框供点选,此时光标离开输入框,无法继续输入!
在 static/js/home_friendselector.js 中,未找到故意使输入框失去焦点的代码,发现提示框使用Discuz的showMenu函数弹出提示框:
showMenu({'showid':this.showObj.id, 'duration':3, 'pos':'43'}); showMenu({'showid':this.handleObj.id, 'duration':3, 'pos':'43'});
这个过程似乎不可避免地使光标离开输入框,打断了输入。我尝试在其后方添加:
$('username').focus();
使提示框出现后自动让焦点再次回到输入框。经测试,输入英文用户名时不会再被打断了。
但输入中文时,焦点离开会造成输入法关闭,无法继续输入中文!所以最后结果是这个问题未能解决,只能先将showMenu两行代码注释掉,关闭提示功能。
欢迎谈谈你的看法(无须登录) *正文中请勿包含"http://"否则将被拦截