js阻止默认事件的发生

方法一:

  如果使用的是DOM0级的事件处理程序,则可以在绑定的函数后边写return false;

  ele.onclick = function(){

    //更改后的事件处理

    return false;//默认事件阻止

  }

方法二:

  如果使用的是DOM2级的事件处理程序,则必须使用event.preventDefault()(非IE)或者event.returnValue = false;

  浏览器兼容的写法:

    function preventDefault(event){

      var event = event || window.event;

      if(event.preventDefault){

        event.preventDefault();

      }else{

        event.returnValue = false;

      }

    }

曾经小女子很疑惑为什么在DOM0可以使用return  false;的方法,但是DOM2级的方法如此复杂,就不能写一个里边含有return false;的函数,然后绑定吗?这样所有的浏览器的兼容性问题不就解决了吗?事实上,这个想法很好,但是现实很残酷……

DOM2级的方法中那个函数位置是没有返回值的,return false;也只是调用函数的返回值,DOM2级处理程序中函数参数的返回值,所以无效;

目前而言,还是觉得DOM0级的方法看着简单……

有不同喜好的人还望介绍DOM2级方法此时的优点……多谢……有错误,望指正……

时间: 2024-11-05 12:52:35

js阻止默认事件的发生的相关文章

js阻止默认事件与js阻止事件冒泡

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

js阻止默认事件、拖拽等等

1.自定义右键菜单: 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>无标题文档</title> 6 <style> 7 * {margin:0; padding:0; list-style:none;} 8 #div1 {position:absolute; width:80px; background:#CC

JS 之 阻止事件冒泡,阻止默认事件,event.stopPropagation()和event.preventDefault(),return false的区别

在前端开发中,有时我们需要阻止冒泡和阻止默认事件的发生. 一.event.stopPropagation() 阻止事件的冒泡,不让事件向documen上蔓延,但是默认事件任然会执行,当调用这个方法的时候,如果点击一个连接,这个连接仍然会被打开. 二.event.preventDefault() 阻止默认事件的方法,调用此方法时,连接不会被打开,但是会发生冒泡,冒泡会传递到上一层的父元素: 三.return false: 这个方法比较暴力,会同时阻止事件冒泡也会阻止默认事件:写上此代码,连接不会被

javascript, jQuery阻止默认事件和冒泡事件

事件冒泡(event bubbling) 事件冒泡是指一个元素上的事件被触发,然后这个事件按嵌套顺序在父级元素上触发,直至document根节点. 例如: <!DOCTYPE html> <html> <head> <title>Event Bubbling Example</title> </head> <body> <div id="myDiv">Click Me</div>

JS阻止冒泡事件以及默认事件发生的简单方法

如果<p>是在<div>里面,那么呢,<P>有一个onclick事件,<div>也有onclick事件,为了触发<P>的点击事件时,不触发父元素的点击事件,那么就需要调用如下函数: 代码如下: function stopBubble(e){ if(e&&e.stopPropagation){//非IE e.stopPropagation(); } else{//IE window.event.cancelBubble=true;

这可能是最简明扼要的 js事件冒泡机制+阻止默认事件 讲解了

哎 js事件冒泡机制和阻止冒泡 阻止默认行为好像永远也整不清楚,记了忘 忘了记...醉了 这篇文章写完以后下次再忘记 就呼自己一巴掌,忘一次一巴掌 首先要明白两个概念--事件和事件流 事件指的是用户或浏览器自身执行的某种动作,又称为原始事件模型,例如onclick等 事件流指的是 从页面中接收事件的顺序,也就是说当一个事件产生时,这个事件的传播过程就叫做事件流. 事件冒泡: 从事件目标开始 一级级向上冒泡,到document为止--从里到外 IE 5:div--body--document; I

阻止默认事件发生的方法

在事件处理函数中,添加return false; 标准浏览器中用的是 事件对象.preventDefault() IE低版本浏览器的写法:window.event.returnValue = false; 兼容各种浏览器的写法: if(evt.preventDefault) { evt.preventDefault(); //标准浏览器的阻止默认事件的写法 } else { evt.returnValue = false; //IE低版本浏览器的写法 } 3 超链接a,除了具有以上两种阻止默认事

js 阻止冒泡事件和默认事件

阻止事件冒泡 window.enent ? window.enent.cancelBubble = true : e.stopPropagation() function stopBubble(event){ if(window.event){//兼容IE window.event.cancelBubble=true; }else{ event.stopPropagation(); } 阻止默认事件 window.event? window.event.returnValue=false : e

javascript事件之: 事件冒泡, 事件捕获 ,阻止默认事件

谈起JavaScript的 事件,事件冒泡.事件捕获.阻止默认事件这三个话题,无论是面试还是在平时的工作中,都很难避免. 冒泡篇: 先来看一段实例: js: var $input = document.getElementsByTagName("input")[0]; var $div = document.getElementsByTagName("div")[0]; var $body = document.getElementsByTagName("