我有这个问题,我想有条件地停止跳跃。
条件跳转
我尝试在我的coditionFun函数中添加一些代码,以有条件地阻止它跳跃。
function conditionFun() {
var flag=false;
if(flag){
console.log('you allowed anchor jump'); return true;
} else {
console.log('you stopped the anchor jump');return false;
}
}
我希望得到#34;你停止了跳跃"并且不要跳到" http://www.google.com.hk",但它记录了#34;你停止了跳跃"并立即跳到" http://www.google.com.hk",有人帮我这个吗?谢谢!
答案 0 :(得分:0)
使用jQuery是你最好的选择。然后,只要在锚点上发生click事件,您就可以运行逻辑:
<a id="anchor" href="url">Your link<a/>
$('#anchor').click(function(e){
var flag=false;
if(flag){
console.log('you allowed anchor jump');
} else {
//stops the default anchor action from running
e.preventDefault();
console.log('you stopped the anchor jump');
}
})
答案 1 :(得分:0)
您可以定义自己的取消默认功能。
<a id="alink" href="www.google.com">Google</a>
function cancelDefaultAction(e) {
var evt = e ? e:window.event;
if (evt.preventDefault) evt.preventDefault();
evt.returnValue = false;
return false;
}
function conditionFun(e) {
var flag=false;
if(flag){
console.log('you allowed anchor jump');
return cancelDefaultAction(e);
} else {
console.log('you stopped the anchor jump');
return cancelDefaultAction(e);
}
}
document.getElementById("alink").addEventListener("click", conditionFun);