夺命雷公狗---javascript NO:15 事件冒泡3

解决事件冒泡兼容性问题

① 在public.js函数库中创建stopBubble函数

② 判断浏览器类型

//冒泡兼容性问题

function stopBubble(event){
    if(window.event){
        //IE
        window.event.cancelBubble = true;
    }else{
        event.stopPropagation();
    }
}

③ 在html页面测试stopBubble函数

<!DOCTYPE html>
<html>
<head>
<meta charset=’utf-8′>
<title></title>
<style type=”text/css”>
div#div1{
width:500px;
height:500px;
background:red;
}
div#div2{
width:400px;
height:400px;
background:blue;
}
div#div3{
width:300px;
height:300px;
background:yellow;
}
</style>
<script src=”public.js”></script>
<script>
window.onload = function(){
addEvent($(‘div1′),’click’,function(){
alert(‘div1′);
})
addEvent($(‘div2′),’click’,function(){
alert(‘div2′);
//IE模型
//window.event.cancelBubble = true;
//w3c
//event.stopPropagation();
stopBubble(event);
})
addEvent($(‘div3′),’click’,function(){
alert(‘div3′);
//IE模型
//window.event.cancelBubble = true;
//w3c
//event.stopPropagation();
stopBubble(event);
})
}
</script>
</head>
<body>
<div id=”div1″>
<div id=”div2″>
<div id=’div3′></div>
</div>
</div>
</body>
</html>
时间: 2024-12-26 14:25:39

夺命雷公狗---javascript NO:15 事件冒泡3的相关文章

夺命雷公狗---javascript NO:16 默认行为1

1.什么是默认行为 在我们的HTML标签中,很多标签拥有自己的默认行为. 如: submit提交按钮:其会自动提交表单数据到处理页面 a标签:其会自动跳转到指定页面 有些情况下,我们并不需要这种默认行为. 如: 当我们未填写表单数据时,系统不应该直接提交表单数据到处理页面. 当我们单击删除链接时,如果用户没有确认是不应该直接跳转删除的. 2.组织默认行为 IE模型浏览器 window.event.returnValue = false; W3C模型浏览器 dom对象.事件 = function(

夺命雷公狗---javascript NO:30 闭包

1.什么是闭包 所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. 例1:运行一下代码,得出结论:在全局作用域没有办法直接引用局部变量 <!DOCTYPE html> <html> <head> <meta charset=’utf-8′> <title></title> </head> <body> <script> funct

夺命雷公狗---javascript NO:23 JavaScript中的this指针

1.自定义类中的this指针 在php中,我们在自定义类时,属性都是预定义在我们的自定义类中,而在JavaScript代码中,所有对象的属性和方法都是动态添加到对象中,那么可不可以让我们的自定义对象自动拥有类的属性和方法? 答:可以,通过this指针 例1:谁实例化自定义类,那么类中的this就指向谁 <!DOCTYPE html> <html> <head> <meta charset=’utf-8′> <title></title>

夺命雷公狗---javascript NO:31 私有属性

1.什么是私有属性 在JavaScript代码中,是没有public/protected/private等定义属性的关键词,但是我们可以通过模拟的方式来实现这个过程. 在JavaScript只有两种属性: 一种共有属性 一种私有属性 2.定义私有属性 在构造器内部,通过this定义的属性就是公有属性 在构造器内部,通过var定义的属性就是私有属性 <!DOCTYPE html> <html> <head> <meta charset=’utf-8′> <

夺命雷公狗---javascript NO:28 原型链

1.原型对象 在JavaScript中,每个构造器在加载后都会自动生成一个对象,我们把这个对象就称之为原型对象. 2.构造器与原型对象的关系 Person构造器与Person原型对象在内存中表现为相互独立,互不影响.但是在Person构造器中存在一个prototype属性指向Person原型对象,同时在Person原型对象中也存在一个属性指向Person构造器. 3.原型对象的作用 当我们在Person构造器的实例对象中引用一个不存在的属性或方法,系统会自动到Person构造器的原型对象中去寻找

夺命雷公狗---javascript NO:21 自定义类1

1.快速入门 例1:通过原生js与面向对象js定义一个人的信息 <!DOCTYPE html> <html> <head> <meta charset=’utf-8′> <title></title> </head> <body> <script> //通过js代码定义一个人的信息 var name = ‘lisi'; var age = ’30′; var marry = false; alert

夺命雷公狗-----React---16--事件操作事件

<!DOCTYPE> <html> <head> <meta charset="utf-8"> <title></title> <script src="./js/react.js"></script> <script src="./js/react-dom.js"></script> <script src="

夺命雷公狗---Smarty NO:15 fetch函数

功能:载入外部文件到当前页面 基本语法: {fetch file=“file” assign=“var”} 参数说明: file:要载入文件的名称或路径 assign:把载入的内容,放入var变量中 示例代码: <!DOCTYPE html> <html> <head> <meta charset=’utf-8′> <title></title> </head> <body> {fetch file=’data

夺命雷公狗---javascript NO:17 默认行为2

解决兼容性问题 ① 在public.js中创建prevent函数 ② 判断浏览器类型 ③ 编写一下程序代码 //解决阻止默认行为兼容性问题 function prevent(event){ if(window.event){ //IE模型浏览器 window.event.returnValue = false; }else{ //w3c event.preventDefault(); } } ④ 在html页面测试prevent方法 <!DOCTYPE html> <html> &