40

以下是我正在尝试的代码

document.getElementById("id").disabled = true;
4

5 回答 5

119

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

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

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

于 2013-09-24T13:29:52.623 回答
21

我对您的问题感到困惑,在我看来,问题标题和正文在问不同的事情。如果您想禁用/启用 div 上的点击事件,只需执行以下操作:

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

$("#id").off('click'); //disables click event

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

$("#id").attr('disabled','disabled');

希望这可以帮助。

编辑:哎呀,没有看到其他绑定/取消绑定的答案。对不起。这些方法也是正确的,尽管它们在 jQuery 1.7 中已被弃用,并被 on()/off() 取代

于 2013-09-24T13:31:42.173 回答
3

启用使用bind()方法

$("#id").bind("click",eventhandler);

调用这个处理程序

 function  eventhandler(){
      alert("Bind click")
    }

禁用点击使用unbind()

$("#id").unbind("click");
于 2013-09-24T13:17:52.283 回答
1

您可以通过应用以下代码来禁用该事件:

使用.attr()API

$('#your_id').attr("disabled", "disabled");

或使用.prop()API

$('#your_id').prop('disabled', true);
于 2013-09-24T13:19:01.713 回答
0

首先这是 JavaScript 而不是 C#

然后你不能禁用一个 div 因为它通常没有功能。要禁用单击事件,您只需从 dom 对象中删除该事件。(绑定和解除绑定)...

于 2013-09-24T13:17:34.173 回答