侦听按键按下事件,剃刀
Listening to the keyPressed event, Razor
<body>
<table align="center" width="100%" height="100%">
<tr>
<td align="center" id="previousPhoto">
@if (Model.HasPreviousPhoto)
{
if (Model.CurrentPhotoIndex == 0)
{
<a href="@HrefHelper.ToPhoto(Model.Title, Model.CurrentPageIndex - 1, maxPhotosOnThePage)">
<section class="navSection">
<img class="previousPhoto" src="@Url.Content("~/Content/Icons/arrows.png")" />
</section>
</a>
}
else
{
<a href="@HrefHelper.ToPhoto(Model.Title, Model.CurrentPageIndex, Model.CurrentPhotoIndex - 1)">
<section class="navSection">
<img class="previousPhoto" src="@Url.Content("~/Content/Icons/arrows.png")" />
</section>
</a>
}
}
else
{
<section class="navSection"></section>
}
</td>
<td class="photoPlaceholder" align="center">
<section class="photoSection">
<img src="@Model.CurrentPhoto.GenerateSrcHTML()" />
</section>
</td>
<td align="center" id="nextPhoto">
@if (Model.HasNextPhoto)
{
if (Model.CurrentPhotoIndex == maxPhotosOnThePage)
{
<a href="@HrefHelper.ToPhoto(Model.Title, Model.CurrentPageIndex + 1, 0)">
<section class="navSection">
<img src="@Url.Content("~/Content/Icons/arrows.png")" />
</section>
</a>
}
else
{
<a href="@HrefHelper.ToPhoto(Model.Title, Model.CurrentPageIndex, Model.CurrentPhotoIndex + 1)">
<section class="navSection">
<img src="@Url.Content("~/Content/Icons/arrows.png")" />
</section>
</a>
}
}
else
{
<section class="navSection"></section>
}
</td>
</tr>
</table>
现在我需要侦听左/右箭头键向下事件,并触发与这些链接相同的操作。据我了解,没有JS的帮助就无法做到这一点,对吧?我对 ASP.NET,尤其是JS很陌生,所以你们中的某个人可以告诉我实现上述目标的最佳方法吗?
您需要在视图中添加 js 片段
<script>
document.addEventListener('keydown', function(e){
//37 is left arrow, 39 is right arrow
if(e.which === 37){
document.getElementById('previousPhoto').getElementsByTagName('a')[0].click();
} else if (e.which === 39) {
document.getElementById('nextPhoto').getElementsByTagName('a')[0].click();
}
});
</script>
相关文章:
- 分派点击事件并保留击键修饰符
- 模糊事件的Javascript测试
- keyup事件处理程序更改焦点不适用于快速键入
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何使Javascript动态html表及其上的事件
- 使用类从一个标记中双击事件
- 如何在未直接触发的情况下停止事件
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 对iPad上的点击事件反应缓慢
- 事件和状态
- Fancybox是否将Click事件静音
- 主干-不管怎样,检查事件以前是否绑定过
- 从控制器返回后Ajax启动事件激发
- 如何从画布上的某个移动事件中获取X和Y
- Jquery:未触发select事件
- JsFiddle上的鼠标事件不起作用
- 只覆盖箭头键滚动事件
- $window.ga在AngularJS事件中未定义
- cron作业与Javascript计时事件
- 侦听按键按下事件,剃刀