zoukankan      html  css  js  c++  java
  • 《Vue.j实战》一书 p126 页练习 1 & 2 & 3 试做

    练、习2 :扩展clickoutside. , 实现在点击按钮显示下拉菜单后,通过按下键盘的ESC 键也可
    以关闭下拉菜单。
    练习3 :将练习2 的ESC 按键关闭功能作为可选项。提示,可以用修饰符,比如v-clickoutside . esc 。

    Demo在线效果浏览

    解答:

    修改template,在指令后添加.esc修饰符

        <div class="main" v-clickoutside.esc="handleClose" data-id="0" data-first>
          <button @click="show=!show">点击显示下拉菜单</button>
          <div class="dropdown" v-show="show">
            <p>下拉框的内容,点击外面区域可以关闭</p>
          </div>
        </div>

    在自定义指令的 bind 钩子中,新增 一 handler,用于处理当指令附带了 esc 修饰符时的情形。检测event对象的keyCode是否为27,如是,则表明点击了esc按键,就调用相应函数。

            function handleEsc(e){
                if(e.keyCode===27){
                    binding.value(e);
                }

    并绑定至 document 上。

            el.__vueEscOutside__=handleEsc;
            document.addEventListener('keyup',handleEsc);

    在unbind钩子中添加如下代码:

            document.removeEventListener('keyup',el.__vueEscOutside__);
            delete el.__vueEscOutside__;
  • 相关阅读:
    IO流上机作业
    数据结构堆排序
    数据结构实训报告
    字符串的基本操作
    java窗口的简单切换
    判断一个串B位于串A的位置
    c语言实现数组转置,加减,乘法运算
    java异常处理
    弹奏乐器
    课程总结
  • 原文地址:https://www.cnblogs.com/sx00xs/p/11349464.html
Copyright © 2011-2022 走看看