使用箭头键移动元素

2024-01-11

我在页面上有 2 个 div,我希望用户能够使用箭头键在其中移动。我尝试通过使用焦点来区分它们,但太多的项目(如输入)可以获得焦点。目前,当我单击该 div 时,我正在应用带有虚线的“集中”css 样式,以使其脱颖而出,并从其他 div 中删除该样式。

.focused{
  border: 1px dashed #cccccc;   
}


$('#tagCommon').click(function(){
  $(this).focus().addClass("focus2");
  $('#tagLatin').removeClass("focus2");
});

I think this https://stackoverflow.com/questions/7782266/jquery-move-div-with-arrow-keys将拦截按键事件。

那么我怎样才能只移动具有 focus2 类的对象呢?就像是:

$(document).keydown(function(e) {
    switch (e.which) {
    case 37:
        $('only the div that has class focus2').stop().animate({
            left: '-= 10'
        }); //left arrow key
        break;
    }
});

非常感谢你再次救我出来 托德


我不确定您是否仍然需要解决方案,但您可以检查一下:http://jsfiddle.net/ft2PD/41/ http://jsfiddle.net/ft2PD/41/

这是html

<div id='div1'>
    <input type='text' value='hello' />
</div>

<div id='div2'>
    <label> World</label>
</div>

这是 JavaScript:

$(document).ready(function(){
    $('#div1,#div2').click(function(){
        $('div.selected').removeClass('selected');
        $(this).addClass('selected');

    })}).keyup(function(e){
        var div = $('div.selected');
        console.log(div);
        console.log(e.which);            
        switch (e.which) {
    case 37:
        $(div).stop().animate({
            left: '-=10'
        }); //left arrow key
        break;
    case 38:
        $(div).stop().animate({
            top: '-=10'
        }); //up arrow key
        break;
    case 39:
        $(div).stop().animate({
            left: '+=10'
        }); //right arrow key
        break;
    case 40:
        $(div).stop().animate({
            top: '+=10'
        }); //bottom arrow key
        break;
    }
    });​

最后是CSS

#div1
{
    position: absolute;
    width:100px;
    height:100px;
    margin:15px;
    padding:15px;
    border: thin solid #D2D2D2;
}
#div2
{
    position: absolute;
    width:50%;
    margin:15px;
    padding:15px;
    border: thin solid #D2D2D2;
}
.selected
{
    border: 1px dashed #cccccc !important;
}​
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用箭头键移动元素 的相关文章

随机推荐

  • 链接到适用于 Android 的工作 webRTC 库

    Google Play 最近几天有一个关于我使用的 WebRTC 库的新错误 警告 我使用这个库将近一年了 google webrtc 1 0 32006 aar 我的应用程序仍然可用 但他们要求更新库 这通常意味着他们将来会阻止使用该库的
  • 如何清除实体框架 ICollection 中的所有元素?

    我在使用 Clear 从实体框架中的集合中删除所有元素时遇到问题 考虑经常使用的博客和帖子示例 public class Blog public int Id get set public string Name get set publi
  • 无法在 asp.net 母版页文件中放置断点

    我有一个 MVC Web 应用程序 我在下面的第 16 行中收到 对象引用未设置为对象实例 错误 这是一个母版页文件 当我尝试在该行或文件中的任何位置放置断点时 出现 这不是断点的有效位置 错误 我已经单击了每一行 但无法放置一个断点 我确
  • StudentSubmissions.Patch UpdateMask 错误

    尝试在 Google Apps 脚本中使用 Classroom API 的 StudentSubmissions Patch 部分并继续运行时遇到此错误 updateMask updateMask 只能包含 draftGrade 或 指定等
  • 如何将 include/lib 目录添加到 MSVC 2015 解决方案中的所有项目?

    我有一个很大的解决方案 在每个项目中添加 更改包含目录非常繁琐 是否可以一步为所有项目设置公共包含文件夹 Thanx 不直观的第一步是在 解决方案资源管理器 窗口中选择多个项目 如有必要 请先折叠项目节点 单击第一个项目 然后按住 Shif
  • svn错误413请求实体太大的原因是什么?

    有时 我在更新 svn 存储库时收到错误 413 请求实体太大 一旦收到此错误 每次我尝试更新本地工作副本时都会继续出现此错误 新的结账方式可以解决问题 但是很不方便 该项目超过 30 GB SVN 存储库托管在外部 过去 这种情况在多台不
  • MySQL 表中的最大列数[重复]

    这个问题在这里已经有答案了 我对 MySQL 还很陌生 我有几个问题 1 有多少 最多 个 可以在 MySQL 表中创建列 2 有多少 最大 数量 可以在 MySQL 数据库中创建许多表 1 每个表大约有 4 096 列 2 mySQL有数
  • 如何在android中显示欢迎屏幕?

    您好 我想要一个带有我的徽标的屏幕 该屏幕应显示 2 3 秒 然后应进入主程序 我怎样才能实现这个 这是一个简单的splashScreen实现 public class SplashScreen extends Activity priva
  • x86/x64 添加位移寻址

    我正在为 x86 x64 CPU 指令编写一个编译器 但我似乎无法弄清楚人们所说的 位移 地址是什么意思 例如 添加指令详细信息如下 http www c jump com CIS77 CPU x86 X77 0150 encoding a
  • 动画搜索栏进度

    我的屏幕有 4 个搜索栏 如下图所示 如果用户移动 B C 或 D 我计算三者的平均值并将 A 的进度设置为平均值 这是最容易的部分 我想做的是为进度条 A 设置动画 使其不会一次性跳跃 例如从 25 75 为 A 制作动画的推荐方法是什么
  • 如何使用异步方法对 ViewModel 进行单元测试。

    我不知道从哪里开始 但让我简要介绍一下我现在的处境以及我想要实现的目标 我对 MVVM 上的单元测试相当陌生 并且在测试使用 PRISM 委托命令属性公开的命令时遇到困难 我的委托命令调用必须等待的异步方法 以便我可以获得实际结果 下面是我
  • 无法获取httpResponse内容

    我没有设法从 android 模拟器查询 Web 服务 之前我有一个 UnresolvedHostException 但这没关系 现在我可以更进一步了 我在 HttpResponse 的实体中没有返回任何内容 长度为 1 String ur
  • 从 pandas 数据框索引创建列

    我有一个数据框 我想将索引 第一级 中的数据转换为列 实际上我的 df 看起来像这样 col1 CoI AK 0 1 1 31 2 NaN BB 0 5 1 31 2 NaN 我想把它变成这样 col1 CoI 0 1 AK 1 31 AK
  • 根据特定值创建新变量

    我阅读了正则表达式和 Hadley Wickham 的stringr and dplyr包 但不知道如何让它工作 我在数据框中保存了图书馆流通数据 索书号作为字符变量 我想将最初的大写字母作为一个新变量 并将字母和句点之间的数字作为第二个新
  • 如何使用phonegap javascript获取IP地址

    如何使用phonegap javascript 获取IP 地址 我必须将此 IP 地址作为查询字符串发送到 php 页面 有什么建议吗 干得好 http simonmacdonald blogspot in 2012 08 so you w
  • 如何确定文档是否与查询匹配,例如规范化 elasticsearch 分数?

    Elasticsearch 计算的分数提供了文档之间的排名 但它并不能说明文档是否与请求匹配 目前 第一个文档可以匹配所有字段或仅匹配一个字段 分数提供的唯一信息是它是最佳匹配 是否有可能获得关于查询的标准化分数 例如 得分 1 表示文档与
  • 接口是否有 ISomething / ISomethingable 的既定替代方案?

    在接口名称前添加 I 前缀的 NET 标准似乎正在变得越来越普遍 并且不再仅限于 NET 我遇到过很多使用此约定的 Java 代码 因此 如果 Java 在 C 之前使用它 我不会感到惊讶 Flex 也使用它 等等 不过 在名称开头放置 I
  • 搜索栏取消按钮委托未调用

    我在导航控制器内实现了一个搜索栏 它工作正常 但取消按钮点击委托方法没有被调用 请帮忙 func searchBarCancelButtonClicked searchBar UISearchBar This function is not
  • 以编程方式清除 R 控制台 [重复]

    这个问题在这里已经有答案了 可能的重复 R 中清除控制台的函数 https stackoverflow com questions 14260340 function to clear the console in r Is there a
  • 使用箭头键移动元素

    我在页面上有 2 个 div 我希望用户能够使用箭头键在其中移动 我尝试通过使用焦点来区分它们 但太多的项目 如输入 可以获得焦点 目前 当我单击该 div 时 我正在应用带有虚线的 集中 css 样式 以使其脱颖而出 并从其他 div 中