如果在键盘上按下姓名的第一个字母,则滚动到网页上的人名

Sim*_*mon 3 php keyboard usability jquery keyboard-shortcuts

我有一个包含大约 500 个名字的列表的页面。用户想s在他们的键盘上输入例如,然后页面将自动滚动到以 开头的名称s

我应该将这些名称的第一个字母转换为 an INT,将该 INT 作为数据属性并将 jQuery 函数添加到页面,还是有更好的解决方案?

Gol*_*den 5

我建议将每个字符的名称列表嵌入 div 中,并带有适当的id,例如以S开头的名称:

<div id="S">
  ... names with S ...
</div>
Run Code Online (Sandbox Code Playgroud)

然后你可以使用 jQuery 对按键做出反应,然后做一个

location.href = '#S';
Run Code Online (Sandbox Code Playgroud)

然后,浏览器会自动滚动到相应的div. 这样做的另一个好处是,您甚至可以使用 URL 将其放入您的收藏夹,因此如果您想直接跳转到所有带有S 的人,您可以轻松做到这一点。

更新:由于.keypress()jQuery的函数只返回一个数字,而不是字符本身,您需要对其进行转换。有关如何将字符转换为数字以及反之亦然的示例,请参阅在 Javascript 中将字符转换为 ASCII 代码