3 回答
TA贡献1848条经验 获得超10个赞
您必须将点击事件“终止”到 a 标签,为此,您必须将事件对象传递给OnClickNextPage函数,然后调用.preventDefault()该事件。return false;动作不影响onclick事件。
HTML
<a href="http://localhost" data-ajax="?link1=saved-posts" onclick="OnClickNextPage(event);">Test</a>
Javascript
function OnClickNextPage(event) {
var result = confirm("Are you sure ?");
if (!result) {
event.preventDefault(); // prevent event when user cancel
}
// go to page in a tag's href when user choose 'OK'
}
TA贡献1801条经验 获得超8个赞
尝试
function OnClickNextPage(e){
e.preventDefault();
var result = confirm("Are you sure ?");
if (!result) {
return false;
}
}
编辑 -
对不起,我的错,问题是你在 href 中调用页面加载事件,最终触发 DOM 的优先级
<a href="http://localhost" data-ajax="?link1=saved-posts" onclick="OnClickNextPage();">Test</a>
像这样试试
<a href="#" onclick="OnClickNextPage();">Test</a>
function OnClickNextPage(e){
e.preventDefault();
var result = confirm("Are you sure ?");
if (!result) {
return false;
} else {
window.location.href = [[Your URL Here]]
}
}
TA贡献1812条经验 获得超5个赞
您必须使用 preventDefault() 函数来阻止事件的默认行为,而不是返回 false。这是代码
<a href="http://localhost" data-ajax="?link1=saved-posts" onclick="OnClickNextPage();">Test</a>
function OnClickNextPage(event){
var result = confirm("Are you sure ?");
if (!result) {
event.preventDefault();
}
}
添加回答
举报