单击复选框时,页面跳转到顶部

use*_*009 1 mootools filter datatables

我在单击复选框时调用handleNotableTypeSelect方法,一切正常,但页面跳转到顶部.

this.$hideInactiveCheckbox.click(
    this.handleNotableTypeSelect.createDelegate(this));
    handleNotableTypeSelect: function(e) {
        //e.preventDefault();
        if (this.$hideInactiveCheckbox.attr('checked')) {
            this.isActive = "^active$";     
            this.$connTable.fnFilter(this.isActive, 1,true);     
        }
        else {
            this.$connTable.fnFilter('', 1);
        } 
        //return false;
    }
Run Code Online (Sandbox Code Playgroud)

Eri*_*hri 9

我的情况是复选框被隐藏了(由于 CSS 设计)。原始输入复选框的位置设置为“绝对”,因此当用户单击复选框时,页面“跳转”到实际复选框位置。

编辑:

在某些情况下,存在样式化的“假”复选框。真正的复选框元素隐藏在一些不好的做法中。我的情况是真正的复选框元素具有绝对定位和隐藏,这导致页面跳转到窗口顶部。

可能的解决方案:

检查复选框元素是否具有以下 CSS 规则, position: absolute;
如果是,删除此规则可以解决此问题。


ans*_*sen 6

这可能与以下问题有关:

div中的输入复选框跳转到firefox上的页面顶部

我实际上已经在各种框架中看到了这方面的错误,并且在大多数情况下,人们发布了框架特定的答案.如果您隐藏了复选框,请尝试使用display:none,它似乎适用于上面的帖子.我还在尝试寻找一个修复程序(因为我没有隐藏我的复选框,我正在弄清楚为什么模式中的复选框会导致屏幕在点击时跳转到模态的顶部).

  • 显示:没有成功。我将复选框隐藏在 -999px、-999px 处,屏幕上带有标签。当我点击一个时,与单选按钮不同,屏幕试图滚动以显示被选中的复选框。我最初避免使用 display: none 因为它用于禁用复选框。这不再是这种情况,可能是 IE6 的事情。如果 display: none 干扰页面操作,你可以试试 position:relative; left: -999px 以便它在尝试显示时不会垂直滚动。 (2认同)