我使用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;
}
当我点击链接时,是否有可能让它保持原状?
答案 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="#"
即可。它导致跳到顶部
答案 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>