如何使用javascript禁用然后在<div>上启用onclick事件

use*_*259 33 javascript jquery

以下是我正在尝试的代码

document.getElementById("id").disabled = true;
Run Code Online (Sandbox Code Playgroud)

Tib*_*bos 105

您可以使用CSS属性pointer-events禁用任何元素上的click事件:

https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events

// To disable:    
document.getElementById('id').style.pointerEvents = 'none';
// To re-enable:
document.getElementById('id').style.pointerEvents = 'auto'; 
// Use '' if you want to allow CSS rules to set the value
Run Code Online (Sandbox Code Playgroud)

这是一个JsBin:http://jsbin.com/oyAhuRI/1/edit

  • 对于jquery,`$('#id')。css('pointer-events','none');` (4认同)
  • 这在IE10中不起作用.链接保持可点击状态. (2认同)

Par*_*ich 17

我对你的问题感到困惑,在我看来问题标题和正文都在问不同的事情.如果要在div上禁用/启用click事件,只需执行以下操作:

$("#id").on('click', function(){ //enables click event
    //do your thing here
});

$("#id").off('click'); //disables click event
Run Code Online (Sandbox Code Playgroud)

如果要禁用div,请使用以下代码:

$("#id").attr('disabled','disabled');
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.

编辑:oops,没有看到其他绑定/解除绑定的答案.抱歉.这些方法也是正确的,虽然它们已在jQuery 1.7中被弃用,并被on()/ off()取代