我似乎找不到禁用 JavaScript 函数的代码。我想做的是有一个 javascript 函数,然后我想禁用它。这是代码:
<script>
var fooFunc = function fooFunction() {
alert("HELLO");
};
$(document).ready(function() {
fooFunc.disable();
});
</script>
<button onclick="fooFunc()">Button</button>
基本上,当单击按钮时,该功能不应该起作用,应该将其禁用。谢谢
最佳答案
“禁用”fooFunc
与将其设置为空函数相同(not 为 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
和禁用
附加到它的方法:
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
定义为
var fooFunc = disablable(function fooFunction() {
alert("HELLO");
});
其余的代码将按照您的意愿工作。
关于javascript - 使用 JavaScript 禁用功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33904909/