Javascript非重定向
如果条件为false/true,当用户单击链接时,如何阻止HTML页面使用Javascript重定向?具体来说,链接是这样的:Javascript非重定向,javascript,redirect,Javascript,Redirect,如果条件为false/true,当用户单击链接时,如何阻止HTML页面使用Javascript重定向?具体来说,链接是这样的: <a href = "something.html"> <li class ="num" id="day1" onclick = "return checkDate(1)"></li> <li class ="num" id="day2" onclick = "return checkDate(2)"></li>
<a href = "something.html">
<li class ="num" id="day1" onclick = "return checkDate(1)"></li>
<li class ="num" id="day2" onclick = "return checkDate(2)"></li>
<li class ="num" id="day3" onclick = "return checkDate(3)"></li>
</a>
只是我不知道该怎么做,所有关于这个问题的谷歌搜索结果都令人困惑。
提前感谢。试试这个:
function checkdate(a){
if(a == 3){ return false; }
}
function checkdate( a ) {
// block
if ( a == 3 )
return false;
// your code to redirect if a != 3
}
有几件事。首先,您的标记无效<代码>
或
父项。另外,您正在声明一个函数
。JavaScript非常区分大小写,您需要将其声明为函数
。我会将您的HTML修改为:
<li class ="num" id="day1" onclick = "checkDate(1)"></li>
<li class ="num" id="day2" onclick = "checkDate(2)"></li>
<li class ="num" id="day3" onclick = "checkDate(3)"></li>
我可以建议在这里使用onUnload事件,但我认为更简单的解决方案是将实际的“链接”代码放在
的onclick事件中。我不太确定这里的其他建议是否有效-您将为
取消onclick事件,但对
@WesleyMurch——所有OP的li
标签都在anchor@WesleyMurch--我也不会大写函数
:)嗯。如果“return false”对其他人有效,那么我显然在测试中做错了什么-当我把它放进去时,它并没有阻止链接。我想这一点可以忽略。这里解释了这一点的原因:
<li class ="num" id="day1" onclick = "checkDate(1)"></li>
<li class ="num" id="day2" onclick = "checkDate(2)"></li>
<li class ="num" id="day3" onclick = "checkDate(3)"></li>
function checkdate(a){
if (!a == 3) {
//redirect
}
return false;
}
function gotoSomething(num) {
if (checkdate(num)) {
window.location = "something.html";
}
}
<a href = "#">
<li class ="num" id="day1" onclick = "gotoSomething(1)"></li>
<li class ="num" id="day2" onclick = "gotoSomething(2)"></li>
<li class ="num" id="day3" onclick = "gotoSomething(3)"></li>
</a>