• js进阶 12-15 jquery如何实现点击button显示列表,点击其它位置隐藏列表


    js进阶 12-15 jquery如何实现点击button显示列表,点击其它位置隐藏列表

    一、总结

    一句话总结:在button中阻止事件冒泡。

    1、如何咋button中阻止事件冒泡(两种方法)?

    event.stopPropagation()return false
    31     $("#btn").click(function(){
    32         // alert('#btn')
    33          $('ul').show()
    34         //event.stopPropagation()
    35         return false
    36     })

    return false不仅阻止冒泡,还阻止默认事件执行

    2、下拉列表如何实现?

    button+li列表,button控制li列表显示隐藏

    10         *{padding: 0;margin: 0}
    11         #btn{width:200px;height: 24px;line-height: 24px;text-align: center; }
    12         ul{
    13             width: 198px;list-style-type: none;border:1px solid;
    14             display: none;
    15         }
    22 <input type="button" id="btn" value="选择城市">
    23 <ul>
    24     <li>北京</li>
    25     <li>天津</li>
    26     <li>上海</li>
    27     <li>广州</li>
    28     <li>......</li>
    29 </ul>

    3、document代表的区域是哪个(为什么很多事件都监听document)?

    浏览器除上面菜单栏都是document。因为元素都放在这个区域,故监听document,那么这个区域的所有的东西都能被监听。

    4、页面有一个button按钮,你同时给button和document添加点击事件,那么你点击button,document里面的事件会执行么?

    因为事件冒泡,肯定会执行

    5、事件对象e和event什么时候使用?

    本事件中使用event,要传递事件对象参数的时候使用e

    31     $("#btn").click(function(){
    32         // alert('#btn')
    33          $('ul').show()
    34         //event.stopPropagation()
    35         return false
    36     })
    25         $('#txt1').keydown(function(e){
    26             if (e.which==13&&e.ctrlKey) {
    27                 var str1=$('#txt1').val()
    28                 var str2=$('#txt2').val()
    29                 str2+=str1+'
    '
    30                 $('#txt2').val(str2)
    31                 $('#txt1').val('')
    32             }
    33         })

    二、jquery如何实现点击button显示列表,点击其它位置隐藏列表

    1、相关知识

    选择城市

    案例描述:点击选择城市按钮之后自动弹出一个内容选择页面,点击其他任意地方,该页面关闭。

    案例重点:该案例非常简单,重点在于通过这个小例子加深对事件冒泡,阻止冒泡的理解。

    2、代码

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <style>
     4 </style>
     5 <head>
     6     <meta charset="UTF-8">
     7     <title>演示文档</title>
     8     <script type="text/javascript" src="jquery-3.1.1.min.js"></script>
     9     <style type="text/css">
    10         *{padding: 0;margin: 0}
    11         #btn{width:200px;height: 24px;line-height: 24px;text-align: center; }
    12         ul{
    13             width: 198px;list-style-type: none;border:1px solid;
    14             display: none;
    15         }
    16         body{margin: 50px}
    17 
    18     </style>
    19 </style>
    20 </head>
    21 <body>
    22 <input type="button" id="btn" value="选择城市">
    23 <ul>
    24     <li>北京</li>
    25     <li>天津</li>
    26     <li>上海</li>
    27     <li>广州</li>
    28     <li>......</li>
    29 </ul>
    30 <script>
    31     $("#btn").click(function(){
    32         // alert('#btn')
    33          $('ul').show()
    34         //event.stopPropagation()
    35         return false
    36     })
    37     $(document).click(function(){
    38         // alert('document')
    39          $('ul').hide()
    40     })
    41 </script>
    42 </body>
    43 </html>
     
  • 相关阅读:
    弱爆程序员的特征值
    快捷渐变效果
    做事务性的发布数据库日志会越来越大
    判断MS SQLSERVER临时表是否存在
    SQLite实现加密
    CentOS6.4下安装TeamViewer8
    安装CDT
    CentOS中安装Courier New字体
    VS2012的Windows程序不显示DOS窗口
    log4cpp安装使用
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9293794.html
Copyright © 2020-2023  润新知