我有一种情况,我在c#
的页面上动态地将一些内容添加到我的页面上的弹出框(这是一个div)HtmlGenericControl content = new HtmlGenericControl();
content.InnerHtml = "<a id='close' href='' onclick='action()'>close</a><span>Some text here</span>";
divcontrl.Controls.Add(content);
divcontrl.Attributes.Add("class", "myclass");
javascript method:
function action() {
$('.myclass').hide();
}
如果我在锚点上保持href =''它关闭窗口但重新加载页面,如果我删除它而不关闭窗口。
答案 0 :(得分:4)
更改您的链接标记attr,如下所示
//Edit changed from href="#" as it will scroll you to the top
href="javascript:void(0);" onclick='return action()'
并添加返回js函数,
function action() {
$('.myclass').hide();
return false;
}
答案 1 :(得分:2)
在最后一行action()函数中添加return false;
。这将阻止默认链接操作 - 重新加载页面(在您的情况下,空href意味着“相同的URL”)。
添加。同时将onclick="action()"
更改为onclick="return action()"
。或onclick="action(); return false;"
。
答案 2 :(得分:1)
使用<a href="#" ...
。或<a href="javascript:void(0);" ...>
。
我们已经知道<a href="#foo">Foo</a>
会创建指向同一页面中元素的链接,ID为'foo'。在这种情况下,#foo
称为片段标识符。单击它将导致浏览器“跳转”到页面中的该元素而不重新加载它。
当片段标识符未提及页面中任何元素的ID(例如<a href="#">Foo</a>
)时,浏览器会跳转到页面顶部。
答案 3 :(得分:1)
function action() {
$('.myclass').hide();
return false;
}
Which "href" value should I use for JavaScript links, "#" or "javascript:void(0)"?