我在简单的投资组合页面上使用onepagescroll。我想添加空格键功能,并在插件中找到要修改的代码。
现在它使用空格键滚动,但是在测试页面上的联系表单后,我注意到在焦点位于textarea或输入时,与插件关联的所有键都不起作用。
如果我删除一个键的大小写,textarea按预期工作,我可以向上/向下/缩进空格,所以问题出在这段代码中:
_keydownHandler = function(e) {
var tag = e.target.tagName.toLowerCase();
if (!_hasClass(body, "disabled-onepage-scroll")) {
switch(e.which) {
case 38:
if (tag != 'input' && tag != 'textarea') moveUp(el)
break;
case 40:
if (tag != 'input' && tag != 'textarea') moveDown(el)
break;
case 32:
if (tag != 'input' && tag != 'textarea') moveDown(el)
break;
default: return;
}
}
return false;
}
if(settings.keyboard == true) {
document.onkeydown = _keydownHandler;
}
return false;
}
我一直试图绕过它,但我对js的了解有限,代码似乎有意义。在某处有错误还是我需要写一个else语句?
答案 0 :(得分:0)
刚想出来,如果有其他人出现的话会发布答案。
if (!_hasClass(body, "disabled-onepage-scroll")) {
switch(e.which) {
case 38:
if (tag != 'input' && tag != 'textarea') moveUp(el)
break;
case 40:
if (tag != 'input' && tag != 'textarea') moveDown(el)
break;
case 32:
if (tag != 'input' && tag != 'textarea') moveDown(el)
break;
default: return;
}
return true; //add this
}
return false;