Anchor onclick不应该重新加载页面,而应该触发javascript
本文关键字:javascript 不应该 onclick 新加载 加载 Anchor | 更新日期: 2023-09-27 18:21:20
我有一种情况,我正在从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=''固定,它将关闭窗口,但重新加载页面,如果我删除它,则不会关闭窗口。
更改链接标签属性如下,
//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;
}
在action()函数的最后一行添加return false;
。这将阻止默认的链接操作-重新加载页面(在您的情况下,空href表示"相同的URL")。
添加。同时将onclick="action()"
更改为onclick="return action()"
。或onclick="action(); return false;"
。
function action() {
$('.myclass').hide();
return false;
}
哪个";href"我应该为JavaScript链接使用的值#"或";javascript:void(0)"?
使用<a href="#" ...
。或CCD_ 6。
我们已经知道<a href="#foo">Foo</a>
会创建一个指向同一页面中ID为"foo"的元素的链接。CCD_ 8在这种情况下被称为片段标识符。点击它将导致浏览器在不重新加载的情况下"跳转"到页面中的那个元素
当片段标识符没有提到页面中任何元素的ID(例如<a href="#">Foo</a>
)时,浏览器会跳到页面顶部。