javascript - js怎么禁用一个点击事件,完了之后怎么让它再启用
大家讲道理
大家讲道理 2017-04-11 09:08:36
[JavaScript讨论组]

如图,我直接把这几个点击事件设置成undefined,虽然达到了禁用这个事件的效果,但是他们就那么一直被置成undefined了,恢复不了了。。。怎么解决

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(5)
阿神

先不说其它方法,就按你的思路,要让它可恢复,就一定要保存它之前的值,所以

function disableMethod(obj, methodName) {
    var original = obj[methodName];
    obj[methodName] = function() {};
    obj[methodName].recover = function() {
        obj[methodName] = original;
    };
}
// disable 的时候
disableMethod($scope, "messageDialogCheck");

// 恢复的时候
$scope.messageDialogCheck.recover();
怪我咯

如果你是通过设置undefined禁止的话,可以先用变量储存起来

_messageCenterCheck=this.messageCenterCheck;

恢复时:

this.messageCenterCheck=_messageCenterCheck
巴扎黑

禁用点击事件不是一般解绑吗

天蓬老师

一般是在标签上加上disabled:true/false
true:表示禁止
false:表示解除

怪我咯

一般用jquery的话可以用on绑定事件的开头先off解除绑定然后结束时在on绑定
比如

$('p#button').on('click',function(e){
    e.target.off('click');
    .....
    e.target.on('click',function(e){...})
})
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号