我似乎无法找到禁用javascript函数的代码。我想要做的是有一个JavaScript函数,然后我想禁用它。这是代码:
<script>
var fooFunc = function fooFunction() {
alert("HELLO");
};
$(document).ready(function() {
fooFunc.disable();
});
</script>
<button onclick="fooFunc()">Button</button>
基本上,单击按钮时该功能不起作用,应该禁用。感谢
答案 0 :(得分:2)
&#34;禁用&#34; fooFunc
与将其设置为空函数(不至null
- 相同 - 在下次调用时会导致错误)。在这种情况下:
$(document).ready(function() {
fooFunc = function() { };
});
但我不知道这与简单地从HTML元素中删除onclick
处理程序有什么不同。
如果您想要禁用/重新启用该功能,可以这样写:
fooFunc = function() {
function _fooFunc() {
if (!enabled) return;
alert("HELLO");
}
var enabled = true;
_fooFunc.enable = function() { enabled = true; };
_fooFunc.disable = function() { enabled = false; };
return _fooFunc;
}();
如果要扩展它以允许启用/禁用任何功能,您可以编写一个更高阶的函数,它将任何函数作为参数,并返回一个enable
和{{1的函数附加到它的方法:
disable
现在您可以将function disablable(fn) {
function inner() {
if (!enabled) return;
fn();
}
var enabled = true;
inner.enable = function() { enabled = true; };
inner.disable = function() { enabled = false; };
return inner;
}
定义为
fooFunc
,其余代码将按您的意愿运行。
答案 1 :(得分:1)
您可以访问元素的onclick属性..
<button id="id" onclick="fooFunc()">Button</button>
<script>
document.querySelector('#id').onclick = '';
</script>
答案 2 :(得分:1)
如果您不希望该功能完全正常工作并完全禁用,请使用以下内容。
如果您希望该功能仅在某些条件下工作,那么您将需要if/else
语句,因此只有在满足您设置的条件时它才会起作用。
$(document).ready(function(){
$("button").onclick(function(event){
event.preventDefault();
});
});
答案 3 :(得分:0)
您要将其定义为undefined或null。
fooFunc=undefined;
答案 4 :(得分:0)
你应该这样做:)在第一次运行时更改功能定义,你很高兴。
<! DOCTYPE html>
<html lang="en">
<body>
<script>
var fooFunc = function() {
alert("HELLO");
fooFunc = function(){};
};
var enablefooFunc = function()
{
fooFunc = function() {
alert("HELLO");
fooFunc = function(){};
};
}
</script>
<button onclick="fooFunc()">Run once and Disable FooFunc</button>
<button onclick="enablefooFunc()">Enable FooFunc</button>
</body>
</html>