单击复选框时如何防止浏览器在页面顶部滚动?

他们

每当我单击复选框时,浏览器窗口(firefox)都会在屏幕顶部滚动。
如何防止这种行为,所以当我单击复选框时,浏览器窗口将不会在顶部滚动?
这是从这里找到的代码http://jsfiddle.net/zAFND/6/
谢谢。

<html>
    <head>
        <title>Test</title>
        <style>
            div label input {
                margin-right: 100px;
            }

            body {
                font-family:sans-serif;
            }

            #ck-button {
                margin: 4px;
                background-color: #EFEFEF;
                border-radius: 4px;
                border: 1px solid #D0D0D0;
                overflow: auto;
                float: left;
            }

            #ck-button {
                margin: 4px;
                background-color: #EFEFEF;
                border-radius: 4px;
                border: 1px solid #D0D0D0;
                overflow: auto;
                float: left;
            }

            #ck-button:hover {
                margin: 4px;
                background-color: #EFEFEF;
                border-radius: 4px;
                border: 1px solid red;
                overflow: auto;
                float: left;
                color: red;
            }

            #ck-button label {
                float: left;
                width: 4.0em;
            }

            #ck-button label span {
                text-align: center;
                padding: 3px 0px;
                display: block;
            }

            #ck-button label input {
                position: absolute;
                top: -20px;
            }

            #ck-button input:checked + span {
                background-color: #911;
                color: #fff;
            }
        </style>    
</head>
    <body>
        <br>
        <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
        <div id="ck-button">
            <label>
                <input type="checkbox" value="1"><span>red</span>
            </label>
        </div>
    </body>
在此处插入用户名

问题是这个规则:

#ck-button label input {
  position:absolute;
  top:-20px;
}

当您单击标签时,浏览器将尝试聚焦相关输入。在您的情况下,checkbox元素位于页面顶部,甚至位于视口之外,因此Firefox尝试在此处滚动。

您可以通过添加以下内容来解决此问题:

#ck-button label {
  display: block;
  position: relative;
  overflow: hidden;
}

演示版

购买前尝试

另类

海森堡指出他的答案存在一个问题,使用极值时可能会发生。不幸的是,提出的想法与上面显示的想法有相同的怪癖。

因此,另一种解决方案是简单地隐藏输入。功能不受影响。

的CSS

#ck-button label input {
  display: none;
}

演示版

购买前尝试

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

打开和关闭面板时,如何防止浏览器窗口跳回到页面顶部?

来自分类Dev

打开和关闭面板时,如何防止浏览器窗口跳回到页面顶部?

来自分类Dev

返回相同页面后,然后在浏览器中按回去后如何重置复选框

来自分类Dev

回到同一页面,然后在浏览器中按回去后如何重置复选框

来自分类Dev

materializecss复选框使页面在某些浏览器中更宽

来自分类Dev

在浏览器中通过JS检查复选框

来自分类Dev

复选框不显示任何浏览器

来自分类Dev

如何防止单击复选框的标签范围。仅在复选框上可单击

来自分类Dev

单击复选框时防止自动回发

来自分类Dev

Fancybox弹出框防止单击复选框时

来自分类Dev

如何防止浏览器滚动到哈希值更改的顶部?

来自分类Dev

单击行上的任意位置时如何防止选中复选框?

来自分类Dev

如何防止单击复选框后取消选中列表视图项复选框?

来自分类Dev

IE浏览器; 2快速单击更改复选框状态盎司,但是两次调用onclick函数

来自分类Dev

复选框状态更改时如何防止页面跳转?

来自分类Dev

单击<a href="#divID">后,防止浏览器垂直滚动

来自分类Dev

如何在每次单击复选框时阻止页面刷新

来自分类Dev

单击复选框时,如何知道复选框的状态

来自分类Dev

如何在单击单个复选框“全部”时选择所有复选框?

来自分类Dev

单击复选框时如何禁用div

来自分类Dev

单击布局时如何选中复选框?

来自分类Dev

单击时如何使复选框更改其状态?

来自分类Dev

如何更改按钮的颜色单击复选框时

来自分类Dev

单击复选框JavaScript时如何划掉文本

来自分类Dev

单击时,如何设置复选框为选中状态?

来自分类Dev

单击复选框时如何获取td的html?

来自分类Dev

在移动浏览器中打开Bootstrap 3模式时,如何防止后台滚动?

来自分类Dev

在移动浏览器中打开Bootstrap 3模式时,如何防止后台滚动?

来自分类Dev

如何防止在Chrome浏览器中右键单击时触发mouseleave?

Related 相关文章

  1. 1

    打开和关闭面板时,如何防止浏览器窗口跳回到页面顶部?

  2. 2

    打开和关闭面板时,如何防止浏览器窗口跳回到页面顶部?

  3. 3

    返回相同页面后,然后在浏览器中按回去后如何重置复选框

  4. 4

    回到同一页面,然后在浏览器中按回去后如何重置复选框

  5. 5

    materializecss复选框使页面在某些浏览器中更宽

  6. 6

    在浏览器中通过JS检查复选框

  7. 7

    复选框不显示任何浏览器

  8. 8

    如何防止单击复选框的标签范围。仅在复选框上可单击

  9. 9

    单击复选框时防止自动回发

  10. 10

    Fancybox弹出框防止单击复选框时

  11. 11

    如何防止浏览器滚动到哈希值更改的顶部?

  12. 12

    单击行上的任意位置时如何防止选中复选框?

  13. 13

    如何防止单击复选框后取消选中列表视图项复选框?

  14. 14

    IE浏览器; 2快速单击更改复选框状态盎司,但是两次调用onclick函数

  15. 15

    复选框状态更改时如何防止页面跳转?

  16. 16

    单击<a href="#divID">后,防止浏览器垂直滚动

  17. 17

    如何在每次单击复选框时阻止页面刷新

  18. 18

    单击复选框时,如何知道复选框的状态

  19. 19

    如何在单击单个复选框“全部”时选择所有复选框?

  20. 20

    单击复选框时如何禁用div

  21. 21

    单击布局时如何选中复选框?

  22. 22

    单击时如何使复选框更改其状态?

  23. 23

    如何更改按钮的颜色单击复选框时

  24. 24

    单击复选框JavaScript时如何划掉文本

  25. 25

    单击时,如何设置复选框为选中状态?

  26. 26

    单击复选框时如何获取td的html?

  27. 27

    在移动浏览器中打开Bootstrap 3模式时,如何防止后台滚动?

  28. 28

    在移动浏览器中打开Bootstrap 3模式时,如何防止后台滚动?

  29. 29

    如何防止在Chrome浏览器中右键单击时触发mouseleave?

热门标签

归档