【jquery】事件处理之on

news/2024/7/10 23:52:18 标签: jquery

1.1-on可以绑定1个或者多个事件处理程序

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        div {
            width: 100px;
            height: 100px;
            background-color: pink;
        }
        
        .current {
            background-color: purple;
        }
    </style>
    <script src="js/jquery.min.js"></script>
</head>

<body>
    <div></div>
    <script>
        $(function() {
            // 1. 单个事件注册
            // $("div").click(function() {
            //     $(this).css("background", "purple");
            // });
            // $("div").mouseenter(function() {
            //     $(this).css("background", "skyblue");
            // });

            // 2. 事件处理on
            // (1) on可以绑定1个或者多个事件处理程序
             $("div").on({
                 mouseenter: function() {
                     $(this).css("background", "skyblue");
                },
                click: function() {
                    $(this).css("background", "purple");
                 },
                 mouseleave: function() {
                     $(this).css("background", "blue");
                }
             });
          
            });

    </script>
</body>

</html>

1.2-on将两个相同的事件处理程序放在一起执行

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        div {
            width: 100px;
            height: 100px;
            background-color: pink;
        }
        
        .current {
            background-color: purple;
        }
    </style>
    <script src="js/jquery.min.js"></script>
</head>

<body>
    <div></div>
    <script>
        $(function() {  
           $("div").on({
                 mouseenter: function() {
                     $(this).css("background", "skyblue");
                },
             
                 mouseleave: function() {
                     $(this).css("background", "blue");
                }
             });
         //以上代码等同于 
            $("div").on("mouseenter mouseleave", function() {
                $(this).toggleClass("current");
            });
        });
       

    </script>
</body>

</html>

2-on可以实现事件委托(委派)

事件委派:把原来加给子元素身上的事件绑定在父元素身上,就是把事件委派给父亲

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
     
    </style>
    <script src="js/jquery.min.js"></script>
</head>

<body>
    <ul>
        <li>我们都是好孩子</li>
        <li>我们都是好孩子</li>
        <li>我们都是好孩子</li>
        <li>我们都是好孩子</li>
        <li>我们都是好孩子</li>
    </ul>

    <script>
        $(function() {
           
            // (2) on可以实现事件委托(委派)
            // $("ul li").click();
            $("ul").on("click", "li", function() {
                alert(11);
            });
            // click 是绑定在ul 身上的,但是 触发的对象是 ul 里面的小li
        })
    </script>
</body>

</html>

3-on可以给未来动态创建的元素绑定事件

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
    </style>
    <script src="js/jquery.min.js"></script>
</head>

<body>

    <ol>

    </ol>
    <script>
        $(function() {
            // (3) on可以给未来动态创建的元素绑定事件
            // $("ol li").click(function() {
            //     alert(11);
            // })
            $("ol").on("click", "li", function() {
                alert(11);
            })
            var li = $("<li>我是后来创建的</li>");
            $("ol").append(li);
        })
    </script>
</body>

</html>

http://www.niftyadmin.cn/n/964670.html

相关文章

stm32Cube使用教程--点亮led

一、选择单片机型号 二、选择时钟源输入方式 三、配置时钟 四、配置IO口 五、配置工程文件内容 六、打开工程 七、编码 这样就可以看到led正常闪烁了。

11g数据库的安装

为什么80%的码农都做不了架构师&#xff1f;>>> 通过命令行输入命令DBCA&#xff0c;进入DataBase Configuration Assistant&#xff08;数据库配置协助&#xff09;界面。 服务器参数 厂家&#xff1a;dell 内存&#xff1a;1T 系统&#xff1a;wi…

STM32Cube使用教程--串口一的使用

一、设置串口 二、编程 1、引用#include "stdio.h" 2、增加串口重定向代码 /* USER CODE BEGIN 0 */ int fputc(int ch, FILE *f) {HAL_UART_Transmit(&huart1, (uint8_t *)&ch,1, 0xFFFF);return ch; } /* USER CODE END 0 */ 3、在主循环中加入代码 /…

stm32Cube教程-TIM1定时器

一、配置TIM NVIC配置 二、编码 /* USER CODE BEGIN 0 */ int fputc(int ch, FILE *f) {HAL_UART_Transmit(&huart1, (uint8_t *)&ch,1, 0xFFFF);return ch; } void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {if(htim->Instance TIM1){printf(&quo…

为你的JHipster应用添加安全保证

2019独角兽企业重金招聘Python工程师标准>>> ## 给应用程序添加安全机制 使用Spring Security和单页应用,就像Jhipster生成的代码,你需要Ajax的登录/退出/错误页面.为了更好的使用,我们已经为这些页面配置好了Spring Security,并且已经为你生成好了所有的Javascript…

stm32Cube教程-外部中断的使用

一、配置引脚 二、配置NVIC 三、编程 /* USER CODE BEGIN 0 */ int fputc(int ch, FILE *f) {HAL_UART_Transmit(&huart1, (uint8_t *)&ch,1, 0xFFFF);return ch; } void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {if(htim->Instance TIM1){print…

stm32 Cube教程-freertos使用

一、配置 二、编码 /* USER CODE END Header_StartDefaultTask */ void StartDefaultTask(void *argument) {/* USER CODE BEGIN StartDefaultTask *//* Infinite loop */for(;;){osDelay(1000);HAL_GPIO_TogglePin (GPIOB ,GPIO_PIN_1 );}/* USER CODE END StartDefaultTask …

如何区分Babel中的stage-0,stage-1,stage-2以及stage-3(一)

大家知道&#xff0c;将ES6代码编译为ES5时&#xff0c;我们常用到Babel这个编译工具。大家参考一些网上的文章或者官方文档&#xff0c;里面常会建议大家在.babelrc中输入如下代码&#xff1a; {"presets": ["es2015","react","stage-0&qu…