Javascript 如果未选中复选框,则禁用链接

Javascript 如果未选中复选框,则禁用链接,javascript,jquery,Javascript,Jquery,如果用户取消选中复选框,我想禁用链接 尝试了类似于: $('#check1').click(function() { if(!$(this).is(':checked')){ $('#tet1').bind('click', function(){ return false; }); }else{ $('#tet1').unbind('click'); } }); 但它没有起作用 为什么这对我不起作用?我错在哪里? 谢谢大家! 试试看 var xEnabled =

如果用户取消选中复选框,我想禁用链接

尝试了类似于:

$('#check1').click(function() {
  if(!$(this).is(':checked')){
    $('#tet1').bind('click', function(){ return false; });
  }else{
    $('#tet1').unbind('click');
  }
});
但它没有起作用

为什么这对我不起作用?我错在哪里? 谢谢大家!

试试看

var xEnabled = true;

$('#check1').click(function() {
 xEnabled = $(this).is(':checked');
});

$('#tet1').click(function(){
   if(!xEnabled) { return false; }
})

当复选框被更改时,您不需要做任何事情,只需检查它是否在锚的事件处理程序中被选中,如果被选中,则阻止默认操作

$('#tet1').on('click', function(e) {
    if ( $('#check1').is(':checked') ) e.preventDefault();
});

我相信这就是你所追求的:

<a href="http://www.google.com">Google</a>
<input type="checkbox" id="checkBox" />

$("a").click(function(e) {
        if($("#checkBox").prop("checked") === true) {
            e.preventDefault();
            return false;
        } else {
            return true;
        };
    });

$(“a”)。单击(功能(e){
if($(“#复选框”).prop(“选中”)==true){
e、 预防默认值();
返回false;
}否则{
返回true;
};
});
这将停止所有链接的工作,但是您可以随时将“a”选择器更改为所需的值


亲爱的OP,请使用此解决方案。我没有想到这一点。@AmitT.-然而四年后,你接受了一个似乎与这个问题无关的答案?