jquery的事件冒泡

jquery的事件冒泡是这样的,子节点的操作会触发父节点相应的操作,比如父节点定义了一个click的function,如果子节点被click了,就会触发父节点的的click的function,无论子节点是否定义了click的function的click事件都会触发这样一个冒泡,也就是向上传递的行为,如果需要阻止这样的冒泡操作,希望只是完成子节点该完成的操作,需要在子节点里面增加stopPropagation()函数。这个函数和preventDefault()return false是不同的,前者是阻止事件向父级传递;后面是阻止事件的本身默认的行为,比如链接跳转的事件我想要阻止,就可以增加preventDefault()这样的函数。

下面举一个事件冒泡的例子:

<th>NO.
    <div class="dpdown">
        <ul>
            <li><input type="checkbox" value=""><span>aaa</span></li>
            <li><input type="checkbox" value=""><span>bbb</span></li>
        </ul>
    </div>
 </th>

$("th").bind("click",function(event){
    var th_width = $(this).width();
    $(this).children("div").children(".dpdown").width(th_width).slideToggle("fast")
    $("li").bind("click",function(event){
        event.stopPropagation()
    })
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 总结: 鼠标事件 1.click与dbclick事件$ele.click()$ele.click(handler(...
    阿r阿r阅读 1,641评论 2 10
  • (续jQuery基础(1)) 第5章 DOM节点的复制与替换 (1)DOM拷贝clone() 克隆节点是DOM的常...
    凛0_0阅读 1,384评论 0 8
  • 在家里训练孩子的专注力需要注意的是: 1书桌的摆放要合理,放在贴墙的位置,没有窗户,没有装饰品。 2桌面上要少放东...
    珍惜年青阅读 377评论 0 1
  • 这几天忙着部门的升级考核,一直没有去看QQ和微信,昨天刚考完,打开QQ一看, 眼镜发来消息:潘儿,我要买个东西,我...
    潘珊阅读 410评论 0 1
  • 犹记当年上九华,仿佛昨日再现。今惊闻海燕为英格玛呼吁,由于他常年奔波在外,积劳成疾,本周一突发意外,高血压引起的脑...
    心旅荟阅读 214评论 0 0