0

如果条件为假/真,当用户单击链接时,如何阻止 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>
<li class ="num" id="day3" onclick = "return checkDate(3)"></li> 
</a>

在我的 javascript 文件中,我会有类似的内容:

Function checkdate(a){
if(a = 3){ don't redirect }

}

只是我不知道该放什么,并且该问题的所有谷歌结果都令人困惑。提前致谢。

4

4 回答 4

1

尝试这个:

function checkdate( a ) {
    // block
    if ( a == 3 )
       return false;

    // your code to redirect if a != 3
}
于 2013-06-14T18:19:46.597 回答
1
function checkdate(a){
if(a == 3){ return false; }

}
于 2013-06-14T18:15:49.957 回答
0

有几件事。首先,您的标记无效。<li>标签需要一个<ul><ol>父级。另外,您要声明一个Function. JavaScript 非常区分大小写,您需要将其声明为function. 我会将您的 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> 

JS:

function checkdate(a){
    if (!a == 3) {
        //redirect
    }

    return false;
}
于 2013-06-14T18:23:24.573 回答
0

我可以在这里使用 onUnload 事件提出一些建议,但我认为这里更简单的解决方案是将实际的“链接”代码放在<li>onclick 事件中。我不太确定这里的其他建议是否有效 - 您将“取消” 的 onclick 事件<li>,但不能取消<a>.

这是我的尝试。如果您使用的是 JQuery 或其他东西,还有其他方法可以缩短它。

function gotoSomething(num) {
    if (checkdate(num)) {
        window.location = "something.html";
    }
}

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>
于 2013-06-14T18:23:37.580 回答