禁用和启用onclick?

时间:2018-01-16 04:10:27

标签: javascript html

<p id = "a" onclick = "doStuff()">Textextextext</p>
<p onclick = "disable()">disable the first p</p>
<p onclick = "enable()">enable the first p</p>
function disable() {
    document.getElementById("a").onclick = null;
}
function enable() {
    document.getElementById("a").onclick = //command?//
}

我不希望这是一个按钮,我只想制作一个可点击的段落,它可以变得无法点击。启用onclick的命令是什么?我已经搜索了这个问题,但找不到答案,所以我一直在问。

3 个答案:

答案 0 :(得分:1)

实现此目的的一种方法是使用变量来存储它是否可点击。请检查片段。

var canDoStuff = true;

function disable() {
   canDoStuff = false;
}
function enable() {
   canDoStuff = true;
}

function doStuff(){
  if ( !canDoStuff ) return; /* Do nothing if canDoStuff == false */
  alert( "Doing STuff" );
}
<p id = "a" onclick = "doStuff()">Textextextext</p>
<p onclick = "disable()">disable the first p</p>
<p onclick = "enable()">enable the first p</p>

答案 1 :(得分:0)

要禁用,您可以使用

document.getElementById(id).style.pointerEvents="none";
document.getElementById(id).style.cursor="default";

启用

document.getElementById(id).style.pointerEvents="auto";
    document.getElementById(id).style.cursor="pointer";

答案 2 :(得分:0)

尝试以下方法:

&#13;
&#13;
function disable() {
    document.getElementById("a").onclick = null;
}
function enable() {
    document.getElementById("a").onclick = doStuff; // just assign the function, do not execute.
}
function doStuff(){
	alert('do stuff');
}
&#13;
<p id="a" onclick="doStuff()">Textextextext</p>
<p onclick="disable()">disable the first p</p>
<p onclick="enable()">enable the first p</p>
&#13;
&#13;
&#13;