javascript - 阻止焦点或阻止滚动到焦点元素

标签 javascript jquery

我有一个很好的[标签]按钮,可以触发文件上传窗口。单独的图像上传表单/脚本本身位于页面底部。丑陋的默认文件上传按钮本身被 CSS 隐藏了。

当我单击[标签]按钮时,浏览器会一直滚动到隐藏表单和脚本内容所在的页面底部。如何防止这种聚焦或滚动?

这是我的代码的设置方式。一个漂亮的上传按钮和界面,用于在页面顶部附近(“主”表单内)上传图像。页面底部实际的图片上传表单(单独表单):

<form name="main-form">
  <div class="imagelist" id="imagelist">
    <div class="uploadcontainer"><br><br>
      <label for="imagefile" id="uploadbutton" class="btn btn-primary btn-lg">Upload Images</label>
    </div>
  </div>
  ... (other input fields, etc for main form, etc.)
</form>

.
.
.
.
all the way to the bottom of the page:
.
.

<form name="uploadform" id="uploadform" method="post" action="/edit-images/uploadimage.php" enctype="multipart/form-data">
  <input type="hidden" name="itemimagesid" value="<?php echo $itemid; ?>" />
  <input type="hidden" name="itemtype" value="new" />
  <input type="file" name="imagefile" id="imagefile" onchange="uploadFile()">
</form>

最佳答案

嗯 - 你可以滚动回标签吗?

$(document).ready(function() {
  $('#uploadbutton').click(function(event) {
    $('html, body').animate({
        scrollTop: $(this).offset().top
    }, 0.1);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form name="main-form">
  <div class="imagelist" id="imagelist">
    <div class="uploadcontainer"><br><br>
      <label for="imagefile" id="uploadbutton" class="btn btn-primary btn-lg">Upload Images</label>
    </div>
  </div>
  ... (other input fields, etc for main form, etc.)
</form>

<br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br />

<form name="uploadform" id="uploadform" method="post" action="/edit-images/uploadimage.php" enctype="multipart/form-data">
  <input type="hidden" name="itemimagesid" value="<?php echo $itemid; ?>" />
  <input type="hidden" name="itemtype" value="new" />
  <input type="file" name="imagefile" id="imagefile" onchange="uploadFile()">
</form>

关于javascript - 阻止焦点或阻止滚动到焦点元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39801205/

相关文章:

javascript - 如何使用 Jasmine 来匹配多个参数?

javascript - 动态调整滑动菜单左侧位置

javascript - 使用 jquery 更改 select2 样式

javascript - jQuery 滚动 DIV : stop scrolling when DIV reaches footer

jQuery 将 HTML 表转换为 XML

javascript - JS - 获取两个具有相同 id 的元素之间的正确元素

javascript - 如何根据所有下拉值的测试设置按钮文本?

javascript - 将多个变量 .onload 设置为相同的值

javascript - gulp autoprefixer 编译为 .scss 而不是 .css

javascript - Ajax 错误: Failed to load resource: the server responded with a status of 500 (Internal Server Error)