Discuz! X2.5 升级 0901 出现验证码无法输入的问题。
发帖问题验证框总失去焦点,导致无法输入验证答案,导致无法发帖。
找到具体的代码了。是新版的data/cache/common.js的function showMenu(v) 函数加入下面这段代码导致的:
- if(!menuObj.getAttribute('disautofocus')) {
- try{
- var focused = false;
- var tags = ['input', 'select', 'textarea', 'button', 'a'];
- for(var i = 0; i < tags.length; i++) {
- var _all = menuObj.getElementsByTagName(tags[i]);
- if(_all.length) {
- for(j = 0; j < _all.length; j++) {
- if((!_all[j]['type'] || _all[j]['type'] != 'hidden') && hasshow(_all[j])) {
- _all[j].className += ' hidefocus';
- _all[j].focus();
- focused = true;
- var cobj = _all[j];
- _attachEvent(_all[j], 'blur', function (){cobj.className = trim(cobj.className.replace(' hidefocus', ''));});
- break;
- }
- }
- }
- if(focused) {
- break;
- }
- }
- if(!focused) {
- menuObj.focus();
- }
- } catch (e) {
- }
- }
复制代码
解决办法:
- if(!focused) {
- menuObj.focus();
- }
复制代码
删除这段代码就可以了。
|