美文网首页
react中 点击当前组件以外的地方(或者点击空白区域),当前组

react中 点击当前组件以外的地方(或者点击空白区域),当前组

作者: 蔷薇心情 | 来源:发表于2018-07-30 16:59 被阅读0次

    react中 点击当前组件以外的地方,当前组件隐藏的实现方案:

    方案一:

    componentDidMount(){

            let self = this;

            //方法调用

            this._onBlurHandler(self)

      }

    _onBlurHandler(self){

            document.body.addEventListener('click', function(e){

                //针对不同浏览器的解决方案

                function matchesSelector(element, selector){

                    if(element.matches){

                        return element.matches(selector);

                    } else if(element.matchesSelector){

                        return element.matchesSelector(selector);

                    } else if(element.webkitMatchesSelector){

                        return element.webkitMatchesSelector(selector);

                    } else if(element.msMatchesSelector){

                        return element.msMatchesSelector(selector);

                    } else if(element.mozMatchesSelector){

                        return element.mozMatchesSelector(selector);

                    } else if(element.oMatchesSelector){

                        return element.oMatchesSelector(selector);

                    }

                }

                //匹配当前组件内的所有元素

                if(matchesSelector(e.target,'.citySelectWrap *')){               

                    return;

                }

                self.setState({

                    isShowPop:'hide'

                })

            }, false);

        }

    方案二:

    _onBlurHandler(self) {

                document.body.addEventListener( 'click', function(e) {

                        var cDom = document.querySelector(".repeatSelect");

                        var tDom = e.target;

                        if (cDom == tDom || cDom.contains(tDom)) {

                        } else {

                                self.setState({ isShow: 'hide' });

                        }

                }, false );

       }

    相关文章

      网友评论

          本文标题:react中 点击当前组件以外的地方(或者点击空白区域),当前组

          本文链接:https://www.haomeiwen.com/subject/huwfvftx.html