我创建了一个投资组合网站,在浏览图片时,我希望用户能够使用箭头键导航。我有以下代码,在Firefox中运行良好,但在Chrome、Safari或IE中运行不了。
$(document).keypress(function (evt) {
if (evt.keyCode == 39) {
evt.preventDefault();
$.scrollTo('+=564px', 800, { axis:'x' });
} else if (evt.keyCode == 37) {
evt.preventDefault();
$.scrollTo('-=564px', 800, { axis:'x' });
}
});
我已经安装了scrollTo
插件,并且运行良好,并且有一个有效的jQuery文件,所以这不是一个问题。有谁能告诉我为什么这个插件在其他浏览器上可能不起作用吗?
实时示例here。
总是很感激帮助!
2条答案
按热度按时间tp5buhyn1#
试试这个:
代替
这是因为IE处理KeyPress与FireFox不同。
编辑因为您很乐意得到一个像样的答案:
我还想将您的语句更改为
switch
:型
xtupzzrd2#
如果您希望跨浏览器使用此方法,还应该注意keyCode在不同浏览器之间可能不相同。jQuery提供了属性
event.which
,该属性用于规范化浏览器之间的差异。http://api.jquery.com/event.which
来自文档:
event.which
规范化event.keyCode
和event.charCode
。建议在键盘按键输入时注意event.which
。