jquery通过live绑定事件的原理

news/2024/7/10 23:13:31 标签: jquery, javascript, 前端

jquery_live_0">jquery live()函数原理

  • 将事件绑定到父节点,由于事件冒泡,所有事件最终会冒泡到document节点
  • 当有事件触发时,则判断事件类型和触发事件的元素是否一致,如果相同则执行函数

实例

<!doctype html>
<html>
    <head>
        <title>jquery live()函数原理及实现</title>
        <style type="text/css">
            table{
                border-collapse:collapse;
                border-spacing:0;
            }
            td{
                border:1px solid #cdcdcd;
            }
        </style>
        <script type="text/javascript">javascript">
            function live(target, type, fn){    //元素类型,事件类型,执行函数
                document.onclick = function(event){
                    var e = event ? event : window.event;
                    addRow();
                    if(e.type == type && e.target.tagName.toLocaleLowerCase() == target){
                        fn();    //如果元素类型和事件类型同时匹配,则执行函数
                    }
                }
            }
            function addRow(){
                var x=document.getElementById("tb").insertRow(0);
                var y=x.insertCell(0);
                var z=x.insertCell(1);
                y.innerHTML="NEW CELL1";
                z.innerHTML="NEW CELL2";
            }
            
            //实例:将所有的td(包括后续js添加的)绑定click事件
            live("td", "click", function(){
                alert("live");
            });
        </script>
    </head>
    <body>
        <table id="tb">
            <tr>
                <td>..........................................</td>
                <td>..........................................</td>
            </tr>
            <tr>
                <td>..........................................</td>
                <td>..........................................</td>
            </tr>
            <tr>
                <td>..........................................</td>
                <td>..........................................</td>
            </tr>
        </table>
    </body>
</html>

参考

jquery live()函数原理及实现


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

相关文章

移动端1px问题

问题 css最低只支持1px大小&#xff0c;不足1px就以1px显示&#xff0c;所以在移动端&#xff0c;根据UI设计稿&#xff0c;适配各种屏幕分辨率时&#xff0c;宽高在这个峰值时&#xff0c;就会出现实际结果比设计稿要粗的感觉。 常体现为&#xff1a;多倍的设计图设计了1px的…

WPF实现可视化控件打印及打印预览

打印预览XAML代码&#xff1a; <controls:WindowEx x:Class"SunCreate.Vipf.Client.UI.MapPrintPreview"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc&…

移动端适配相关文章收集

2022 年移动端适配方案指南 — 全网最新最全 移动端开发-高清适配方案 canvas 绘制图片模糊问题解决 关于2x&#xff0c;3x的区别及图片的绘制 前端移动端|二倍图看这就够了 面试官&#xff1a;你了解过移动端适配吗&#xff1f;

vite项目调试

就这? 貌似没有记录博客的必要, 但按照以往webpack的方式进行debugger调试, 无法停在正确的代码位置 暂时的解决方式 源代码 > 向工作去添加文件夹 在这里,将项目所在文件夹添加进来, 此时debugger就能停在正确的位置了, 但是这个调试界面貌似有点不一样, 没有以前那种方…

Python 文档,给自己的程序写文档

文档&#xff0c;这个词语在经常在程序员的嘴里冒出来&#xff0c;有时候他们还经常以文档有没有或者全不全为标准来衡量一个软件项目是否高大上。那么&#xff0c;软件中的文档是什么呢&#xff1f;有什么要求呢&#xff1f;python文档又是什么呢&#xff1f;文档有什么用呢&a…

vue3杂记

会导致进行非预期更新的写法 当未显示声明为prop的属性发生改变时, 会导致组件进行rerender在element-plus表单中,对一个空表单执行重置操作, 如果表单项组件的值为对象或数组, 那么这类表单项也是会进行rerender的

《玩转Django2.0》读书笔记-Django建站基础

《玩转Django2.0》读书笔记-Django建站基础 作者&#xff1a;尹正杰 版权声明&#xff1a;原创作品&#xff0c;谢绝转载&#xff01;否则将追究法律责任。 一.网站的定义及组成 网站&#xff08;Website&#xff09;是指在因特网上根据一定规则&#xff0c;使用HTML&#xff…

常用mixin

修复浮动导致的高度坍塌问题 mixin clearfix {&:after {clear: both;content: .;display: block;height: 0;line-height: 0;overflow: hidden;}*height: 1%; }单行文本超长显示省略号 mixin textOverflow($width:100%,$display:block) {max-width: $width;display: $displ…