`

JS小Demo: 点击Body 创建DIV, 点击DIV删除

阅读更多
给小朋友做的演示
三个兼容主流浏览器的公共方法
addEvent
removeEvent
stopEventPropagation


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "  http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style type="text/css">
body{padding:0px;margin:0px;color:green;font-weight:bold;text-align: center;font-size:40px;}
div{ height:100px;width:100px;background:red;margin:5px 5px;float:left;_display:inline;}
</style>
<script type="text/javascript">
var index = 0;
function createDiv(){
	var div = document.createElement("div");
	var divData = document.createTextNode("");
	divData.nodeValue = index ++;
	div.appendChild(divData);
	
	addEvent(div, "click", function(e){
		document.body.removeChild(div);
		stopEventPropagation(e || event);
	});
	
	document.body.appendChild(div);
}

addEvent(document, 'click', createDiv);

function addEvent(elem, eventName, handler) {
  if (elem.attachEvent) {
    elem.attachEvent("on" + eventName, function(){
                    handler.call(elem)});
  } else if (elem.addEventListener) {
    elem.addEventListener(eventName, handler, false);
  }
}
function removeEvent(elem, eventName, handler) {
  if (elem.detachEvent) {
    elem.detachEvent("on" + eventName, function(){
                    handler.call(elem)});
  } else if (elem.removeEventListener) {
    elem.removeEventListener(eventName, handler, false);
  }
}
function stopEventPropagation(e){
	if(e.stopPropagation){
		e.stopPropagation();
	}else{
		e.cancelBubble=true;
	}
}
</script>
</head>
<body>
</body>
</html>
 
效果:


 
  • 大小: 52.8 KB
分享到:
评论

相关推荐

    js点击复制,一键复制到剪切板

    body&gt; &lt;!-- 1. Define some markup --&gt; &lt;div id="btn" data-clipboard-text="1"&gt; &lt;span&gt;Copy &lt;/div&gt; &lt;div id="btn" data-clipboard-text="2"&gt; &lt;span&gt;Copy &lt;/div&gt; &lt;!-- 2. Include library --&gt;...

    html入门到放弃笔记

    1、编写一对 body 标记,在body标记中,嵌套一对 div标记,在 div 标记中 ,嵌套一对 a 标记,在 a标记中,嵌套一对 b 标记,b标记中,随意编写一些文本 &lt;body&gt; &lt;div&gt; 这是一段测试文本 &lt;/div&gt; &lt;...

    easy-div:网页中使用的一个方便的 div 元素

    简单的div 该模块为您的演示和原型启动和运行提供了一个非常简单的 div 元素。 非常适合与 Beefy 一起使用。 例子 var easyDiv = require ( 'easy-div' ) ; var div = easyDiv ( { ... 请参阅demo/demo.js了解更多用

    Jquery.media.js插件

    Jquery.media.js插件,包含三个文件:jquery.media.js、jquery-1.7.2.min.js、demo.html demo文件如下: &lt;html&gt; &lt;head&gt; [removed][removed] [removed][removed] [removed] $(function() { $('....

    网页代码 拉幕广告

    拉幕的广告代码: ...&lt;div&gt;&lt;img src="http://www.codefans.net/jscss/demoimg/wall8.jpg"&gt;&lt;/div&gt; 版本所有:&lt;strong&gt;&lt;a href="http://www.codefans.net/"&gt;源码爱好者&lt;/a&gt;&lt;/strong&gt; &lt;/body&gt; &lt;/html&gt;

    判断可拖动div是否重合 重合多少

    body{margin:0px; padding:0px; font-size:12px} .div{height:160px;width:160px;position:absolute; text-align:center; } .demo1{ border:1px solid #96C2F1;background-color:#EFF7FF;left:150px;top:20px} .demo...

    jQuery图片裁剪插件Jcrop.js.zip

     &lt;div class="jc-demo-box" data="0"&gt;  &lt;div id="target" class="jcrop_w" &gt;  &lt;img /&gt; &lt;/div&gt;  &lt;/div&gt;  &lt;div class="jy-up-ch"&gt; &lt;a &gt; &lt;/a&gt; &lt;a &gt; &lt;/a&gt; &lt;a &gt; &lt;/a&gt; &lt;a &gt; &lt;/a&gt; &lt;/div&gt;  &lt;/div&gt;  &lt;div class...

    向左不间断(无缝)滚动图片js代码下载

    向左不间断(无缝)滚动图片js代码,这个代码用的人相信很多,有一点不好的就是当图片不足时不会滚动,所以使用时要多加几张图片。 ---------------------------------------------- 向左不间断(无缝)滚动图片js...

    jQuery详细教程

    &lt;script type="text/javascript" src="/jquery/jquery.js"&gt; &lt;script type="text/javascript"&gt; $(document).ready(function(){ $("p").click(function(){ $(this).hide(); }); }); &lt;body&gt; &lt;p&gt;If you click on ...

    CSS3的鼠标悬停文字标题切换对应内容代码.zip

     &lt;div class="demo__elem demo__elem-2"&gt;一列的图文混排布局&lt;/div&gt;  &lt;div class="demo__elem demo__elem-3"&gt;两列的图文混排布局&lt;/div&gt;  &lt;span class="demo__hover demo__hover-1"&gt;  &lt;span class="demo__hover...

    CSS3特效鼠标悬停文字标题切换对应内容代码.zip

     &lt;div class="demo__elem demo__elem-1"&gt;简约的多文字布局&lt;/div&gt;  &lt;div class="demo__elem demo__elem-2"&gt;一列的图文混排布局&lt;/div&gt;  &lt;div class="demo__elem demo__elem-3"&gt;两列的图文混排布局&lt;/div&gt;  ...

    jquery回到顶部demo

    所有内容放在body标签下的样式名为"body-cnt"的div中,这样将jQuery事件绑定都委托给该div,避免移动端事件绑定不到document上。

    基于JavaScript实现图片点击弹出窗口而不是保存

    实现的思路是通过编写hook图片的onclick事件的函数,在函数中对body追加div元素,再将传入的图片对象放入元素中,同时再监听div的onclilck事件,当捕捉到点击,再关闭(其实是隐藏)弹出的div。 通过在函数初始化的...

    轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器

    layout:创建应用的用户界面。 datagrid:显示 RSS Feed 列表。 tree:显示 feed 频道。 步骤 1:创建布局(Layout) &lt;body class=easyui-layout&gt; &lt;div region=north border=false class=rtitle&gt; jQuery ...

    javascript读取excel数据

    &lt;div id="demo"&gt;&lt;/div&gt; [removed] /* FileReader共有4种读取方法: 1.readAsArrayBuffer(file):将文件读取为ArrayBuffer。 2.readAsBinaryString(file):将文件读取为二进制字符串 3.readAsDataURL(file):...

    JavaScript利用键盘码控制div移动

    下面就分享一个Demo。 利用键盘码来控制div移动源码 &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;&lt;/title&gt; &lt;style type="text/css"&gt; #box { ...

    js 下拉菜单点击旁边收起实现(踩坑记)

    接到需求后第一反应用失焦(blur)去做收起操作避免body的监控,随后就踩坑里了,下面情景再现,一步一步来看这个问题的解决(里面的demo等会用vue实现) 带有bug的版本演示图 备注:最后的搜索跳转我直接用...

    非常精美的h5 进度条

    &lt;body&gt; &lt;div class="htmleaf-container"&gt; &lt;h1&gt;jQuery炫酷图片预览Lightbox插件 &lt;span&gt;A jQuery plugin designed to provide gallery view for images&lt;/span&gt;&lt;/h1&gt; &lt;div class="htmleaf-links"&gt; ...

    ztree树节点前面有checkbox

    &lt;script type="text/javascript" src="jquery.ztree.core.js"&gt; &lt;script type="text/javascript" src="jquery.ztree.excheck.js"&gt; &lt;SCRIPT type="text/javascript"&gt; var setting = {check: {enable: true},...

    css 空白外边距互相叠加的解决方法

    先看如下demo代码: &lt;!doctype html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset=”utf-8″&gt; &lt;title&gt;空白边距叠加demo@Mr.Think&lt;/title&gt; &lt;style&gt; body{width:300px; font-family:’微软...

Global site tag (gtag.js) - Google Analytics