首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击每个按钮时将元素移动到顶部

问单击每个按钮时将元素移动到顶部
EN

Stack Overflow用户
提问于 2018-12-11 12:20:27
回答 1查看 58关注 0票数 0

我有列表,每个列表都有“移动顶部”按钮。当单击“移动顶部”按钮时,div元素应该移动到顶部(在DOM中)。

但我没什么麻烦去做。

另外,当使用键盘选项卡到按钮并按回车键时,焦点必须保持在按钮上,然后按下键盘输入。

这就是我到目前为止在这里尝试过的--请帮帮忙。

​

代码语言:javascript
复制
$('.btnTop').on('click', function() {
  $(this).parent().prepend(this).focus();
});
代码语言:javascript
复制
.box {
  border: 1px solid #000;
  margin: 0 0 20px 0;
}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="wrap"> 
  <div id="aa" class="box">
    aa <button class="btnTop">Top</button>
  </div> 
  <div id="bb" class="box">
    bb <button class="btnTop">Top</button>
  </div> 
  <div id="cc" class="box">
    cc <button class="btnTop">Top</button>
  </div> 
</div>

​

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-11 12:25:04

你把错误的项目列在前面。您需要预置按钮的父div,而不是按钮本身。另外,您还需要添加到.wrap div,它是按钮的parent parent,而不是按钮的父级,它只是包装按钮的div。

最后,您需要focus() on this (您单击的按钮)才能使选项卡按钮正常工作。此刻,你没有专注于你点击的按钮。

见下面的工作示例:

​

代码语言:javascript
复制
$('.btnTop').on('click', function() {
  let this_div = $(this).parent();
  this_div.parent().prepend(this_div);
  $(this).focus();
}); 
代码语言:javascript
复制
.box {
  border: 1px solid #000;
  margin: 0 0 20px 0;
}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="wrap"> 
  <div id="aa" class="box">
    aa <button class="btnTop">Top</button>
  </div> 
  <div id="bb" class="box">
    bb <button class="btnTop">Top</button>
  </div> 
  <div id="cc" class="box">
    cc <button class="btnTop">Top</button>
  </div> 
</div>

​

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53724119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档