账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    再点击菜单栏的同时触发on-clickoutside
    37
    0

    问题描述

    1、在已经点击Downmenu出现下拉框之后再点击 Menu的内容不会消失

    问题出现的环境背景及自己尝试过哪些方法

    clickoutside 判断范围出现异常 使用的插件为v-click-outside-x
    因为menu-item阻止了冒泡事件,所以没有监听到on-click-outside
    尝试在父组件添加$emit.('on-clickoutside')无效

    相关代码

    // 请把代码文本粘贴到下方(请勿用图片代替代码)
    <Dropdown trigger="click" class="notice-container" @submit.native.prevent :visible="true"

                      @on-clickoutside="showClickOut">
                      
                          <div
        :class="[prefixCls]"
        v-click-outside="onClickoutside"
        @mouseenter="handleMouseenter"
        @mouseleave="handleMouseleave">
        <div :class="relClasses" ref="reference" @click="handleClick" @contextmenu.prevent="handleRightClick"><slot></slot></div>
        <transition name="transition-drop">
            <Drop
                :class="dropdownCls"
                v-show="currentVisible"
                :placement="placement"
                ref="drop"
                @mouseenter.native="handleMouseenter"
                @mouseleave.native="handleMouseleave"
                :data-transfer="transfer"
                :transfer="transfer"
                v-transfer-dom><slot name="list"></slot></Drop>
        </transition>
    </div>
    

    你期待的结果是什么?实际看到的错误信息又是什么?

    点击menu也能取消downmenu的下拉框

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • シ罙薆他ノ 普通会员 1楼

      在JavaScript中,你可以使用addEventListener方法来监听菜单栏的点击事件,然后使用addEventListener方法的ontouchstart属性来监听触摸事件。以下是一个简单的示例:

      javascript document.addEventListener('DOMContentLoaded', function () { document.addEventListener('click', function (event) { event.target.addEventListener('ontouchstart', function (event) { event.target.addEventListener('click', function () { // 在这里执行你的操作,例如执行一个点击操作 console.log('菜单栏被点击'); }); }); }); });

      在这个示例中,当用户在菜单栏上点击时,会触发ontouchstart事件。然后,当你点击菜单栏上的任何地方时,都会触发click事件。在ontouchstart事件中,你可以添加你的操作。

      注意,这个示例假设你的菜单栏是一个HTML元素,它的id是menu。你需要将menu替换为你的实际菜单栏的id。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部