3-事件处理/委托/冒泡 标签默认行为 自动触发事件 自定义事件和取消

事件处理

  • 方法
    1. jQ().事件类型(callback): 当指定标签中注册事件被触发时, 会执行回调函数中的代码
    2. jQ().on(事件类型, [obj],callback)
  • 事件回调函数中的缺省参数-事件对象
    • 我们可以根据事件对象来获取更详细的信息
    • type: 事件的类型
    • target: 事件作用的对象
    • data: 传递对象参数给回调函数的 event.data //on事件中的obj对象
  • 给标签添加多个事件(可以是相同类型的), 不会覆盖

事件委托

  • jQ对象.on(type, selector, callback)
  • 参数
    • type: 事件类型
    • selector: 给谁注册事件(选择器)
    • callback: 事件发生后的回调函数
  • 优点
    • 给尚不存在的标签(在注册事件的时候,标签还没有生成)添加事件类型
    • 可以提高性能

事件冒泡

  • 定义: 子标签和父标签身上如果注册了相同类型的事件,那么子标签的事件被触发的时候,父标签的事件也会被触发,而且它是层层向上触发的
  • 阻止事件冒泡方法
    • 对应标签返回false: return false
    • 使用事件对象的方法: e.stopPropagation();
  • 注意: 阻止冒泡是只会阻止当层向上冒泡
  • on(onclick)执行事件特点: 如果多次执行,会覆盖掉之前的执行,只保留最后一次
    • element.addEventListener(event, function, true): 所有的事件都会被触发,遵循的是冒泡规律(第三个参数改为false就是先捕获父亲事件)

标签的默认行为

  • form(默认提交表单)等标签有一些默认行为, a标签默认行为在点击后会跳转到链接的地址, 如果类似的标签, 再给他们注册点击事件等, 那么会触发多个动作
  • 阻止标签的默认行为
    • 事件对象.preventDefault

自动触发事件方法(点击事件)

  1. jQ().trigger(type)
    • 作用于对象(事件对象.target): jQ实例对象中所有的标签
    • 不会阻止事件冒泡
      • 作用于a标签, 阻止标签的默认(跳转)行为
      • 作用于表单, 不会阻止表单的默认(提交)行为
  2. jQ().triggerHandler(type)
    • 作用于对象: jQ实例对象中第一个标签
    • 默认会阻止事件冒泡
    • 会阻止标签的默认事件(form等部分标签)
      • 作用于a标签, 阻止标签的默认(跳转)行为
      • 作用于表单, 会阻止表单的默认(提交)行为

自定义事件/取消事件

  • 自定义事件: 可以给标签添加任意事件类型
    • 自动触发

         $('button').on('xx',function(){
            console.log(11);
        })      
        $('button').triggle('xx');
      
  • 取消事件: jQ().off(type,[fn])
    • 参数
      • type: 事件类型
      • fn: 可选. 过滤特定事件(对象身上可能添加了多个事件, 取消选中的特定事件)

DOM操作常见方法

  1. remove(); 删除操作 - 把选定标签删除掉(包括该标签)

  2. empty(); 清空操作 - 把选定标签的内容删除(子标签及其文本)

  3. clone() 克隆操作 - 把已有的内容复制一份

    • 默认情况下, 克隆标签时, 不会克隆事件
    • 若想克隆事件, 传入一个参数true
  4. replaceWith() 替换 - 用新内容替换当前的标签(传值: 标签/jQ对象)

  5. after() | insertAfter 被选元素后插入指定的内容 | 插入内容到标签后面

  6. before() | insertBefore 被选元素前插入指定的内容 | 插入内容到标签前面

  7. append() | appendTo() 插入到标签内容的后面 | 把内容插入到标签内容的后面

     <p>paragraph.</p>
     //6. 被选元素(p标签)前插入指定的内容 | 把内容插入到p标签前面
     $("p").before("<p>Hello world!</p>");
     $("<span>你好!</span>").insertBefore("p");
     
     //7. 在P标签内容后插入内容 | 把内容插入到p标签内容的后面 - 都显示paragraph.Hello World!
     $("p").append(" <b>Hello world!</b>");  
     $("<b> Hello World!</b>").appendTo("p");    
    
  8. prepend() | prependTo() 插入到标签内容的前面 | 把内容插入到标签内容的前面

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • HTML标签解释大全 一、HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(D...
    米塔塔阅读 3,224评论 1 41
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,587评论 18 139
  • 13.1 事件流 “DOM2级事件”规定事件流包括3个阶段:事件捕获阶段,处于目标阶段,事件冒泡阶段。事件捕获表示...
    Elevens_regret阅读 404评论 0 0
  • 这个问题也是老生常谈了,写这篇文章的主要目的是进行下梳理,了解自己知识点的掌握程度,也希望对大家有所帮助。 在说如...
    一木_qintb阅读 4,263评论 1 4
  • 一直在思考,对于我们浑浑噩噩过日的凡人来说,到底应该做点什么才会对将来一定有用。想了好久,也想不出个所以然。可能是...
    大虾很忙阅读 702评论 4 3