使用箭头键移动元素

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(使用前将#替换为@)

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

  • `ie9` - contenteditable false 在父级可编辑时不起作用

    我正在尝试制作内容可编辑和不可编辑的容器 用户可以通过 3 种方式使用它 他们可以将内容与non editable 他们可以将内容与editable 他们可以在不选择其中之一的情况下放置内容 可编辑 我正在努力实现以下目标 content
  • 通过 JavaScript 检测浏览器换行

    我需要 javascript 来检测每个浏览器包装的文本行并将其包装到 span class line 我读过一些关于测量每个单词的 y 轴的文章 但还没有看到可靠的解决方案 这是我到目前为止所拥有的 看到它Jsfiddle http js
  • JavaScript / jQuery 中的范围[重复]

    这个问题在这里已经有答案了 显然我写了太多的 CoffeeScript 因为我现在意识到我对纯 JS 中的作用域没有基本的了解 玩了一段时间后 我无法弄清楚以下问题 document ready function var myUrl htt
  • Jquery:选择器找不到类?

    我正在尝试推进 Jquery autcomplete 功能 我希望 Jquery 自动完成在表中创建新行 到目前为止 这有效 但我希望 Jquery 添加一个删除按钮 因此用户可以删除他添加的项目之一 document ready func
  • 两个 OnClick 事件重叠

    我在元素内有一个元素 当我单击下面的元素时 我希望打开滑块 当我单击最外面的元素时 我希望滑块关闭 不幸的是 当我单击最外面的元素时 它也会单击下面的元素 有没有办法只单击最外面的元素而忽略下面元素的单击 这些事件在单击时触发并使用 Jav
  • jquery验证-等待远程检查完成

    当我打电话时 form valid 我连接了远程验证检查 一切正常 但是如果所有其他字段都有效 则表单会通过验证 因为远程检查没有 足够快 返回响应 有没有办法强制 jquery 验证等待任何远程检查完成或挂钩远程检查调用的完成事件 我目前
  • 选中/取消选中所有复选框

    我见过很多选中 取消选中所有复选框的脚本 但大多数人并不尊重这一点 如果我使用 全部选中 复选框切换所有复选框 然后取消选中列表中的单个复选框 则 全部选中 复选框仍处于选中状态 有没有一种优雅的方式来处理这种情况 checkAll cli
  • JQuery hide() 和 fadeOut() 、 show() 和 fadeIn() 之间的区别

    我是 jQuery 新手 目前 我正在我的跨平台移动应用程序之一中使用 jQuery 我需要根据各自的条件隐藏和显示我的一些页面内容 我发现以下两种方法对我来说效果很好 myControlId fadeOut myControlId hid
  • 了解设置 JQuery 变量

    了解设置 JQuery 变量 最近 我通过在 StackOverflow 上遇到的另一个问题寻找帮助 了解到如何设置 JQuery 变量 如下所示 您可以通过简单地调用变量来创建输入字段 并且锚变量似乎也定义了样式 var clicked
  • jquery从变量中删除html元素

    我将 html 保存在变量中 var itinerary events today html 我有很多 html 和一个按钮我想删除 它的 ID 为 myButton 如何从变量中保存的 html 中删除它 我建议这种方法 var itin
  • 将div设置为隐藏,延时后可见

    我试图在 X 时间后 也许甚至在随机时间之后 但现在我们只做固定时间 在黑色背景上出现一个黄色方块 function initialSetup if document getElementById yellow null document
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • 如何使输入字段和提交按钮变灰

    我想变灰这两件事 http doorsplit heroku com 歌曲输入字段和提交按钮 直到用户输入艺术家 有没有一种简单的方法可以通过 JQuery 来做到这一点 艺术家输入字段的id是 request artist 你可以这样做
  • 如何判断 jquery 对话框是否打开? [复制]

    这个问题在这里已经有答案了 寻找通用案例解决方案来确定当前是否打开任何 jquery 对话框 有多个 试过 ui dialog content dialog isOpen true ui dialog dialog isOpen true
  • jQuery 获取元素内的鼠标位置

    我希望制作一个控件 用户可以在 div 内单击 然后拖动鼠标 然后松开鼠标以指示他们想要的内容有多长 这是针对日历控件的 因此用户将指示特定事件的时间长度 看起来最好的方法是在父 div 上注册一个 mousedown 事件 而父 div
  • JQuery 图像上传不适用于未来的活动

    我希望我的用户可以通过帖子上传图像 因此 每个回复表单都有一个上传表单 用户可以通过单击上传按钮上传图像 然后单击提交来提交帖子 现在我的上传表单可以上传第一个回复的图像 但第二个回复的上传不起作用 我的提交过程 Ajax 在 php 提交
  • 如何仅在最后一个
  • 处给出透明六边形角度?
  • 我必须制作这样的菜单 替代文本 http shup com Shup 330421 1104422739 My Desktop png http shup com Shup 330421 1104422739 My Desktop png
  • 使用 Ajax 请求作为源数据的 Jquery 自动完成搜索

    我想做的事 我想使用 jquery 自动完成函数创建一个输入文本字段 该函数从跨域curl 请求获取源数据 结果应该与此示例完全相同 CSS 在这里并不重要 http abload de img jquerydblf5 png http a
  • fullCalendar 未显示正确的结束日期

    我正在看调试页面 http jsbin com wukofacaxu edit js outputFullCalendar 官方网站的 我想安排一个活动时间为 22 09 2015 至 30 09 2015 dd mm yyyy 但它只显示
  • 如何从图像输入中获取 xy 坐标?

    我有一个输入设置为图像类型

随机推荐

  • 链接到适用于 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 中