JavaScript-事件冒泡&Event和this的区别

  • 在事件冒泡中 ,this永远指的是当前事件的对象
  • window.event.srcElement当用在冒泡事件的时候,它永远指的是最初触发此事件的对象
  onload = function () {
            document.getElementById("bodyid").onclick = function () {
                alert(window.event.srcElement.id);
            };
            document.getElementById("divid").onclick = function () {
                alert(window.event.srcElement.id);
            };
            document.getElementById("pid").onclick = function () {
                alert(window.event.srcElement.id);
            };
            document.getElementById("spanid").onclick = function () {
                //如何阻止冒泡事件的进行
                window.event.cancelBubble = true;//不再进行触发其父级事件        
            };
//---------------------------JQuery实现阻止事件冒泡和键盘事件----------------------------------------
 //判断用户点击的键盘键
            $('#txtmsg').keydown(function (evt) {
                alert(evt.which);
                if (evt.shiftKey) {
                    alert("被触发!");
                }
            });

            //------------------------------------阻滞事件冒泡
            $('#spid').click(function (evt) {
                alert("成功span");
                //阻止事件冒泡(调用事件对象的stopPropagation函数)
                //evt.stopPropagation();
                //在DOM中
                //window.event.cancelBubble = true;
              
                //获取原生Event事件对象
                //evt.originalEvent;(JQ中evt只是对事件对象进行常用的事件方法的封装
                //,其中没有的就需要获取原生事件对象相当于window.event)等价于window.Event对象
            });
            $('#pid').click(function () {
                alert("成功p");
               
            });
            $('#div2').click(function (evt) {
                alert("成功div");
                //evt.originalEvent获取原生事件对象相当于window.event     --.srcElement
                alert(evt.originalEvent.srcElement.id);//最初触发事件的对象deID
                //window.event.srcElemen.id 
            });



//----------补充扩展:
 document.getElementById("divid").onmousedown = function () {
                alert(window.event.button);//输出用户鼠标的点击  0左 1中 2右
                //获取用户点击的鼠标
            };
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值