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

时间:2013-09-24 13:12:51

标签: javascript jquery

以下是我正在尝试的代码

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

5 个答案:

答案 0 :(得分:101)

您可以使用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

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

答案 1 :(得分:15)

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

$("#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()取代

答案 2 :(得分:2)

启用使用bind()方法

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

调用此处理程序

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

要禁用点击使用unbind()

$("#id").unbind("click");

答案 3 :(得分:1)

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

使用.attr() API

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

或使用.prop() API

$('#your_id').prop('disabled', true);

答案 4 :(得分:0)

首先,这是JavaScript,而不是C#

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