JQuery onclick条件停止链接?

时间:2012-01-09 14:00:12

标签: javascript jquery

我有一个链接:

链接

使用

::

$('#myID').click(function(){
    if($("#myCheckbox").is(":checked")) {
        alert('Yes it is...'); //continue as normal
    }
    else {
        alert('Not checked');
        //exit do not follow the link
    }

...

所以//退出不要跟随链接吗?

6 个答案:

答案 0 :(得分:8)

尝试使用event.preventDefault()

$('#myID').click(function(e) {
    if ($("#myCheckbox").is(":checked")) {
        alert('Yes it is...');
    }
    else {
        alert('Not checked');
        e.preventDefault(); // this prevents the standard link behaviour
    }
}

答案 1 :(得分:3)

简单:

$('#myID').click(function (e) {
    ...
} else {
    alert('Not checked');
    e.preventDefault();
}

您也可以使用return false,但这也会停止点击事件的传播(这可能是不受欢迎的)。

答案 2 :(得分:3)

如果要在特定点停止操作,只需使用return false;

答案 3 :(得分:2)

在你的其他情况下返回false。

$('#myID').click(function(){ 
if($("#myCheckbox").is(":checked")) { 
    alert('Yes it is...'); //continue as normal 
} 
else { 
    alert('Not checked'); 
    return false;
} 

答案 4 :(得分:2)

您可以使用event.preventDefault()

让您的点击功能将事件作为参数接收。然后,当您不想关注链接时,可以执行event.preventDefault()。

$('#myID').click(function(event){
   if($("#myCheckbox").is(":checked")) {
       alert('Yes it is...'); //continue as normal
   }
   else 
   {
       alert('Not checked');
       //exit do not follow the link
       event.preventDefault();
   }
});

答案 5 :(得分:1)

您可以传入事件,并使用以下内容覆盖默认行为:

$('#myID').click(function(e) {
    e.preventDefault();
    //exit do not follow the link
});