15.前端jQuery之【jQuery事件】

目录

1.引入jQuery事件方法(绑定id)

2.常用jQuery事件

3.常用jQuery模型 

 1.克隆事件模型:单击进行克隆

2.模态框事件模型

3.点击展开隐藏菜单

4.返回到顶部模型

5.自定义登录校验

6.input实时监控

7.hover事件

8.监控键盘按键事件


1.引入jQuery事件方法(绑定id)

1.第一种:
    语法:$('').click(代码块函数);
    如:$('#d1').click(function () {
            alert('一起学python')
        });

2.第二种(功能更加强大 还支持事件委托)
    语法::$('').on('click',click(代码块函数)
    如:
        $('#d2').on('click',function () {
                alert('一起学python')
        })

2.常用jQuery事件

      jQuery事件参考菜鸟教程:https://www.runoob.com/jquery/jquery-events.html
      jQuery事件方法https://www.runoob.com/jquery/jquery-ref-events.html

3.常用jQuery模型 (参考Jason老师)

 1.克隆事件模型:单击进行克隆

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
    <style>
        #d1 {
            height: 100px;
            width: 100px;
            background-color: orange;
            border: 1px solid blue;
        }
    </style>
</head>
<body>
<button id="d1">屠龙宝刀,点击就送</button>
<script>
    $('#d1').on('click',function () {
        // console.log(this)                            // this指代是当前被操作的标签对象
        $(this).clone().insertAfter($('body'))          // clone默认情况下只克隆html和css 不克隆事件
        //$(this).clone(true).insertAfter($('body'))    // 括号内加true即可克隆事件
    })
</script>
</body>
</html>

2.模态框事件模型

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <title>自定义模态框</title>
    <style>
        .cover {
            position: fixed;
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;
            background-color: darkgrey;
            z-index: 999;
        }
        .modal {
            width: 600px;
            height: 400px;
            background-color: white;
            position: fixed;
            left: 50%;
            top: 50%;
            margin-left: -300px;
            margin-top: -200px;
            z-index: 1000;
        }
        .hide {
            display: none;
        }
    </style>
</head>
<body>
    <input type="button" value="弹" id="i0">
    <div class="cover hide"></div>
    <div class="modal hide">
        <label for="i1">姓名</label>
        <input id="i1" type="text">
        <label for="i2">爱好</label>
        <input id="i2" type="text">
        <input type="button" id="i3" value="关闭">
    </div>
    <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
    <script>
        var tButton = $("#i0")[0];          //获取【弹】按钮标签
        $("#i0").click(function () {
            var coverEle = $(".cover")[0];      // 得到中间层标签对象,
            var modalEle = $(".modal")[0];      // 得到模态框标签对象,
            $(coverEle).removeClass("hide");    // 要转换成jQuery对象,移除隐藏
            $(modalEle).removeClass("hide");
        })
        tButton.onclick=function () {
        var coverEle = $(".cover")[0];
        var modalEle = $(".modal")[0];
        $(coverEle).removeClass("hide");
        $(modalEle).removeClass("hide");
        };
        var cButton = $("#i3")[0];
        cButton.onclick = function () {
            var coverEle = $(".cover")[0];
            var modalEle = $(".modal")[0];
            $(coverEle).addClass("hide");
            $(modalEle).addClass("hide");
        }
    </script>
</body>
</html>

3.点击展开隐藏菜单

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
    <style>
        .left {
            float: left;
            background-color: darkgray;
            width: 20%;
            height: 100%;
            position: fixed;
        }
        .title {
            font-size: 36px;
            color: white;
            text-align: center;
        }
        .items {
            border: 1px solid black;
        }
        .hide {
            display: none;
        }
    </style>
</head>
<body>
    <div class="left">
        <div class="menu">
            <div class="title">菜单一
                <div class="items">111</div>
                <div class="items">222</div>
                <div class="items">333</div>
            </div>
            <div class="title">菜单二
                <div class="items">111</div>
                <div class="items">222</div>
                <div class="items">333</div>
            </div>
            <div class="title">菜单三
                <div class="items">111</div>
                <div class="items">222</div>
                <div class="items">333</div>
            </div>
        </div>
    </div>
    <script>
        $('.title').click(function () {
            // 先给所有的items加hide
            $('.items').addClass('hide')
            // 然后将被点击标签内部的hide移除
            $(this).children().removeClass('hide')
        })
    </script>
</body>
</html>

4.返回到顶部模型

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
    <style>
        .hide {
            display: none;
        }
        #d1 {
            position: fixed;
            background-color: black;

            right: 20px;
            bottom: 20px;
            height: 50px;
            width: 50px;
        }
    </style>
</head>
<body>
<a href="" id="d1"></a>
<div style="height: 500px;background-color: rgb(104, 97, 97)"></div>
<div style="height: 500px;background-color: rgb(64, 80, 40)"></div>
<div style="height: 500px;background-color: rgb(110, 110, 146)"></div>
<a href="#d1" class="hide">回到顶部</a>
<script>
    $(window).scroll(function () {
        if($(window).scrollTop() > 300){
            $('#d1').removeClass('hide')
        }else{
            $('#d1').addClass('hide')
        }
    })
</script>
</body>
</html>

5.自定义登录校验

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<p>username:
    <input type="text" id="username">
    <span style="color: red"></span>
</p>
<p>password:
    <input type="text" id="password">
    <span style="color: red"></span>
</p>
<button id="d1">提交</button>
<script>
    let $userName = $('#username')
    let $passWord = $('#password')
    $('#d1').click(function () {
        // 获取用户输入的用户名和密码 做校验
        let userName = $userName.val()
        let passWord = $passWord.val()
        if (!userName){
            $userName.next().text("用户名不能为空")
        }
        if (!passWord){
            $passWord.next().text('密码不能为空')
        }
    })
    $('input').focus(function () {
        $(this).next().text('')
    })
</script>
</body>
</html>

6.input实时监控

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>k</title>
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<input type="text" id="d1">
<script>
    $('#d1').on('input',function () {
        console.log(this.value)
    })
</script>
</body>
</html>

7.hover事件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<p id="d1">到家啊就是度假酒店</p>
<script>
    // $("#d1").hover(function () {  // 鼠标悬浮 + 鼠标移开
    //     alert(123)
    // })
    $('#d1').hover(
        function () {
            alert('我来了')  // 悬浮
    },
        function () {
            alert('我溜了')  // 移开
        }
    )
</script>
</body>
</html>

8.监控键盘按键事件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<script>
    $(window).keydown(function (event) {
        console.log(event.keyCode)
        if (event.keyCode === 16){
            alert('你按了shift键')
        }
    })
</script>
</body>
</html>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值