添加到jquery后,网站跳转到顶部

时间:2017-06-23 09:51:02

标签: jquery dom

我使用jquery为现有表添加一个完整的行。 不幸的是,网站在此之后跳到最顶层(好像我会重新加载它)。

我的代码是:

<a href="#" onclick="addParam()">foo</a>

和JS:

    function addParam() {
        $('#request_params tbody').append('<tr><td><input class="form-control paramcomplete" type="text" name="input_param_name" size="40" /></td><td><input class="form-control" type="text" name="input_param_value" size="40"/></td><td> <a href="#" onclick="removeParam(this)"><img src="/SequenceControl/pics/remove.png" style="width:20px" /></a></td></tr>');

        return false;
    }

当我点击链接时,是否有可能让它保持原状?

5 个答案:

答案 0 :(得分:4)

另外,你可以这样做href="javascript:void(0);"

或者你可以这样做

function addParam(e)
{
    // do your stuff
    e.preventDefault(); // Cancel the default action
});

答案 1 :(得分:1)

只需从HTML中删除 href 标记即可。你不需要它!

答案 2 :(得分:0)

只需删除href="#"即可。它导致跳到顶部

What is href="#" and why is it used?

答案 3 :(得分:0)

您需要取消默认操作,因此请使用onclick="return addParam()"

但是我建议你使用正确的语义元素; <button>代替anchor,并且当您使用jQuery时使用不显眼的事件处理程序

HTML

<button class="addRow" type="button" onclick="addParam()">foo</button >

脚本

$('.addRow').on('click', function(){
     //Your code
})

答案 4 :(得分:0)

你在锚标记中提到了href =“#”,它没有指定id名称,所以用href =“#”单击一个锚会将滚动位置移到顶部。

从锚标记中删除href属性。

<a onclick="addParam()">foo</a>