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__;
  • 相关阅读:
    位运算操作
    C 动态分配内存
    数据查询语言 DQL
    数据操纵语言 ,DML, 增删改
    Convert Sorted List to Binary Search Tree
    Longest Consecutive Sequence
    Binary Tree Postorder Traversal
    Triangle
    4Sum
    3Sum Closest
  • 原文地址:https://www.cnblogs.com/sx00xs/p/11349464.html
Copyright © 2011-2022 走看看