zoukankan      html  css  js  c++  java
  • javascript 阻止冒泡和浏览器的默认行为

    在使用javascript编程时会遇到一个问题,就是当你给html添加事件时,由于浏览器默认的为冒泡型事件触发机制,所以会触发你不想触发的事件.那么通过如下的函数可以解决这个问题。

    1 function stopBubble(e) {
    2 //如果提供了事件对象,则这是一个非IE浏览器
    3 if ( e && e.stopPropagation )
    4     //因此它支持W3C的stopPropagation()方法
    5     e.stopPropagation();
    6 else
    7     //否则,我们需要使用IE的方式来取消事件冒泡
    8     window.event.cancelBubble = true;
    9 }

    2.当按键后或者点击一个链接后,不希望按键或者链接执行时,可以取消返回值.即停止默认事件默认行为

     1 //阻止浏览器的默认行为
     2 function stopDefault( e ) {
     3     //阻止默认浏览器动作(W3C)
     4     if ( e && e.preventDefault )
     5         e.preventDefault();
     6     //IE中阻止函数器默认动作的方式
     7     else
     8         window.event.returnValue = false;
     9     return false;
    10 }

     示例 : 点击页面的任何URL链接 不跳转。

    1 var links=document.getElementsByTagName('a');
    2 for(var i=0;i<links.length;i++){
    3     links[i].onlick=function(e){
    4          alert('我不跳转,点我也没用');
    5          stopDefault(e)
    6     }
    7 }
  • 相关阅读:
    D. Babaei and Birthday Cake--- Codeforces Round #343 (Div. 2)
    Vijos P1389婚礼上的小杉
    AIM Tech Round (Div. 2) C. Graph and String
    HDU 5627Clarke and MST
    bzoj 3332 旧试题
    codeforces 842C Ilya And The Tree
    codesforces 671D Roads in Yusland
    Travelling
    codeforces 606C Sorting Railway Cars
    codeforces 651C Watchmen
  • 原文地址:https://www.cnblogs.com/hzh1990/p/2949291.html
Copyright © 2011-2022 走看看