解决重复点击onClick事件,多次触发问题

Posted 画家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决重复点击onClick事件,多次触发问题相关的知识,希望对你有一定的参考价值。

在配置文件中加入一下代码,即可解决全局的onClick重复点击。此方法是重写ngClick事件,可以保护多次点击

app.config([‘$provide‘, function ($provide) {
        $provide.decorator(‘ngClickDirective‘,[‘$delegate‘,‘$timeout‘, function ($delegate,$timeout) {
            var original = $delegate[0].compile;
                  var delay = 500;
            $delegate[0].compile = function (element, attrs, transclude) {

                var disabled = false;
                function onClick(evt) {
                    if (disabled) {
                        evt.preventDefault();
                        evt.stopImmediatePropagation();
                    } else {
                        disabled = true;
                        $timeout(function () { disabled = false; }, delay, false);
                    }
                }
                //   scope.$on(‘$destroy‘, function () { iElement.off(‘click‘, onClick); });
                element.on(‘click‘, onClick);

                return original(element, attrs, transclude);
            };
            return $delegate;
        }]);
    }]);

 

以上是关于解决重复点击onClick事件,多次触发问题的主要内容,如果未能解决你的问题,请参考以下文章

在点击反应之前触发的onClick事件[重复]

js click事件防止重复点击

创建的一个onclick点击只会触发第一次,第二次就没有反应了

怎样使js中的onclick事件只触发一次,就是我点击了一次,再次点击的时候不让其再触发

js 鼠标移入触发事件。多次触发。

如何js实现触屏点击事件