防止箭头键更改选定的单选按钮

2024-03-18

我有几个单选按钮,我想阻止按下向上/向下箭头键来更改选定的单选按钮。

如果您选择其中一个单选按钮,然后按向上/向下箭头键,它将选择上一个或下一个单选按钮。相反,我希望选择保持不变。为此我可以使用event.preventDefault();在某些按键上。但是我仍然希望用户能够通过按箭头键在页面上上下滚动。

我怎么做?

单选按钮:

<label>Value
    <input type="radio" name="myradiobtn" value="value1">
</label>
<label>Value
    <input type="radio" name="myradiobtn" value="value2">
</label>
<label>Value
    <input type="radio" name="myradiobtn" value="value3">
</label>
<label>Value
    <input type="radio" name="myradiobtn" value="value4">
</label>
<label>Value
    <input type="radio" name="myradiobtn" value="value5">  
</label> 

JavaScript 尝试(不起作用):

$(document).keydown(function(e) {
    var arrowKeys = [37,38,39,40];
    if (arrowKeys.indexOf(e.which) !== -1) {
        $('input[type="radio"]').each(function( index ) {
          $(this).blur();
        });
    }
});

JsFiddle:

http://jsfiddle.net/w0jh9ney/ http://jsfiddle.net/w0jh9ney/


这个想法是把焦点从input并防止默认行为input keydown事件处理程序:

Fiddle http://jsfiddle.net/w0jh9ney/5/.

$('input[type="radio"]').keydown(function(e)
{
    var arrowKeys = [37, 38, 39, 40];
    if (arrowKeys.indexOf(e.which) !== -1)
    {
        $(this).blur();
        return false;
    }
});

@user3346601 提到的不首先滚动的解决方法keydown:

Fiddle http://jsfiddle.net/w0jh9ney/6/.

$('input[type="radio"]').keydown(function(e)
{
    var arrowKeys = [37, 38, 39, 40];
    if (arrowKeys.indexOf(e.which) !== -1)
    {
        $(this).blur();
        if (e.which == 38)
        {
            var y = $(window).scrollTop();
            $(window).scrollTop(y - 10);
        }
        else if (e.which == 40)
        {
            var y = $(window).scrollTop();
            $(window).scrollTop(y + 10);
        }
        return false;
    }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

防止箭头键更改选定的单选按钮 的相关文章

随机推荐

  • 改进PNG优化Gulp任务

    这是透明的 PNG 源代码 https i stack imgur com 6XZBB png https i stack imgur com 6XZBB png 13 3kB 使用 compresspng com 进行优化 https i
  • 从字符串sql server中删除数字

    我有一个大型数据库 我想在其中进行零件字符串搜索 用户将输入字符 JoeBloggs 为了争论 如果我有名字的话Joe 23 Blo Ggs 4在数据库中 我想删除名称中除 A Z 之外的所有内容 我有REPLACE Name 删除空格的函
  • Pandoc:[警告] 无法转换 TeX 数学

    我尝试使用 Pandoc 将 html 转换为 docx 这是我的 html 代码 p Example v 1 rm v 2 p 头中有 MathJax 配置 MathJax Hub Config extensions tex2jax js
  • 如何在 Oracle SQL Developer 中编辑 BLOB(包含 JSON)?

    如何在 Oracle SQL Developer 中编辑 BLOB 包含 JSON 文本 我可以打开并查看它们 但我需要外部编辑器来编辑它们吗 任何有关使用什么 即使只是记事本 以及如何进行操作的帮助都将在答案中得到极大的赞赏 编辑 有问题
  • 将 iTextSharp.text.Image 转换回 System.Drawing.Image

    我正在尝试将 iTextSharp text Image 类型的对象转换回 System Drawing Image 这是一段不起作用的代码 System Drawing Image img System Drawing Image Fro
  • STL 容器迭代器的模板专门化?

    我正在尝试编写一个类似于的模板函数std to string适用于基本类型以及 STL 容器的迭代器 但我不确定如何编写足够具体的模板来仅识别迭代器 到目前为止我尝试的是尝试使用iteratorSTL 容器中的 typedef templa
  • 未知权限 com.android.vending.BILLING

    我正在尝试在我的应用程序中设置应用内计费功能 到目前为止 我遵循了本指南 http developer android com training in app billing preparing iab app html http deve
  • 通过 Whatsapp 从我的 Android 上的应用程序共享 pdf 文件

    我尝试将 pdf 文件从我的应用程序发送到 Whatsapp 这是代码 但缺少一些东西 它打开了 Whatsapp 我可以选择一个联系人 但它说 共享失败 代码 String PLACEHOLDER file android asset Q
  • 从 gcc 的中间文件编译目标文件

    通过使用 fdump 树 flag 可以在源代码文件编译期间转储一些中间格式文件 我的问题是是否可以使用该中间文件作为 gcc 的输入来获取最终的目标文件 我问这个是因为我想向中间文件添加一些代码gimple 通过使用标志获得 fdump
  • 在 AWK 中将空白字段替换为零

    我希望使用 awk 将空白字段替换为零 但是当我使用 sed s 0 文件时 当我只想考虑丢失的数据时 我似乎会替换所有空格 由于某些空字段 使用 awk print NF 文件返回不同的字段号 即 9 4 input 590073920
  • Eclipse PDT + xdebug:单步执行损坏的代码

    我使用 PHP 5 6 2 和 xdebug 2 2 5 以及 Eclipse 4 4 1 和 PDT 3 3 1 我正在尝试在本地服务器 localhost 上设置调试器 xdebug 但有些东西似乎被破坏了 当我启动调试会话时 Ecli
  • t sql“select case”与“if ... else”以及有关“开始”的解释

    我对 t sql 的经验很少 我必须编写一个存储的 这是我存储的 USE myDatabase GO SET ANSI NULLS ON GO SET QUOTED IDENTIFIER ON GO CREATE PROCEDURE dbo
  • java中String类如何用构造函数初始化

    public String String original this value original value this hash original hash 我不明白原始数据是如何转换为字符数组的 如果我用不同的代码尝试它 它会抛出编译错
  • 在 C# 中实现 OPOS 设备

    对于与旧版 POS 应用程序的某些互操作 我想知道是否可以在 C 中实现虚假的 OPOS 设备 基本上我会实现一个假键盘 它接受网络请求并将按键传递给遗留应用程序 有谁知道这是否可能或在哪里可以获得文档 我认为 OPOS 只是调用由注册表项
  • 将多列粘贴在一起

    我在数据框中有一堆列 我想将它们粘贴在一起 用 分隔 如下所示 data lt data frame a 1 3 b c a b c c c d e f d c g h i i e a b c d 1 a d g 2 b e h 3 c f
  • 如何对 Django 数据库迁移进行单元测试?

    我们使用 django 迁移 django v1 7 更改了数据库 数据库中存在的数据不再有效 基本上我想通过在单元测试中构建预迁移数据库 添加一些数据 应用迁移来测试迁移 然后确认一切顺利 一个人如何 加载单元测试时阻止新的迁移 I fo
  • 没有 AVAsset 的纯色 AVMutableComposition

    这是我的最终目标 我想使用AVVideoCompositionCoreAnimationTool从 Core Animation 创建视频 我不会在此组合中使用现有的 AVAsset 我的问题是 我该如何使用AVMutableComposi
  • 猫鼬预保存和验证之间的区别?什么时候使用哪一个?

    目前我正在使用pre save 进行验证 UserSchema pre save true function next done var self this in case inside a callback var msg helper
  • Angular 4 材质是否像 bootstrap 一样响应式?

    我正在使用 Angular 4 开始一个新项目 需要创建响应灵敏且令人愉悦的用户界面 bootstrap 为您提供响应能力 但没有物质感 棱角分明的材质提供了良好的 UI 体验https material angular io https
  • 防止箭头键更改选定的单选按钮

    我有几个单选按钮 我想阻止按下向上 向下箭头键来更改选定的单选按钮 如果您选择其中一个单选按钮 然后按向上 向下箭头键 它将选择上一个或下一个单选按钮 相反 我希望选择保持不变 为此我可以使用event preventDefault 在某些