Jquery跳转到.click上的首页

时间:2017-02-17 14:37:31

标签: jquery click

我有很长的输入列表,附带了点击功能。每次点击它都会让我回到页面顶部

$(document).on('click', 'input', function () { 
var name = $(this).attr("name");
if ($('input[name="' + name + '"]:eq(1)')[0].checked) {
    $('label[name="' + name + '"]:eq(1)').addClass('nostate');
    $('label[name="' + name + '"]').removeClass('selected');
}
else {
    $('label[name="' + name + '"]').removeClass('nostate selected');
    if ($('input[name="' + name + '"]:eq(0)')[0].checked) {
        $('label[name="' + name + '"]:eq(0)').addClass('selected');
    }
    else {
        $('label[name="' + name + '"]:eq(2)').addClass('selected');
    }
}

});

我已经尝试了

function (e) {
e.preventDefault();
}

return false;

但他们没有工作我认为这是因为input在整个页面上都有运行。

注意:

我让它听整个文档的原因是因为我有第二个查询附加了额外的输入,当我点击附加的输入时,我的点击监听器才能正常工作。我认为这是因为点击监听器在页面加载时绑定到input

此外,点击上没有href=""

1 个答案:

答案 0 :(得分:0)

在尽可能多地删除代码以创建最小/可用/可验证的示例并通过CSS后,我发现它是由单选按钮的位置隐藏引起的。

input[name^="state"][type="radio"] {
   position: absolute;
   top: -9999px;
   left: -9999px;
}

我把它改成了

input[name^="state"][type="radio"] {
   display:none;
   //position: absolute;
   //top: -9999px;
   //left: -9999px;
}

这就是诀窍。