这段的javascript挺不错的,可以像JQ一样选择指定的dom
- <div class="dustbin"><br />垃<br />圾<br />箱</div>
- <div class="dragbox">
- <div class="draglist" name="draglist" title="拖拽我" draggable="true">列表1</div>
- <div class="draglist" name="draglist" title="拖拽我" draggable="true">列表2</div>
- <div class="draglist" name="draglist" title="拖拽我" draggable="true">列表3</div>
- <div class="draglist" name="draglist" title="拖拽我" draggable="true">列表4</div>
- <div class="draglist" name="draglist" title="拖拽我" draggable="true">列表5</div>
- <div class="draglist" name="draglist" title="拖拽我" draggable="true">列表6</div>
- </div>
- <div class="dragremind"></div>
- <script>
- var $ = function(selector) {
- if (!selector) { return []; }
- var arrEle = [];
- if (document.querySelectorAll) {
- arrEle = document.querySelectorAll(selector);
- } else {
- var oAll = document.getElementsByName("draglist"), lAll = oAll.length;
- if (lAll) {
- var i = 0;
- for (i; i<lAll; i+=1) {
- if (/^\./.test(selector)) {
- if (oAll[i].className === selector.replace(".", "")) {
- arrEle.push(oAll[i]);
- }
- } else if(/^#/.test(selector)) {
- if (oAll[i].id === selector.replace("#", "")) {
- arrEle.push(oAll[i]);
- }
- }
- }
- }
- }
- // 获取指定的dom
- return arrEle;
- };
- var eleDustbin = $(".dustbin")[0],
- eleDrags = $(".draglist"),
- eleRemind = $(".dragremind")[0];
- </script>
HTML DOM addEventListener() 方法
- <button id="myBtn">点我</button>
- <script>
- document.getElementById("myBtn").addEventListener("click", function(){
- document.getElementById("demo").innerHTML = "Hello World";
- });
- </script>
提示:可以修改后运行.
定义和用法
addEventListener() 方法用于向指定元素添加事件句柄。
提示: 使用 removeEventListener() 方法来移除 addEventListener() 方法添加的事件句柄。
使用 HTML DOM 来分配事件
HTML DOM 允许您通过使用 JavaScript 来向 HTML 元素分配事件:
- <!DOCTYPE html>
- <html>
- <head>
- </head>
- <body>
- <p>点击按钮就可以执行 <em>displayDate()</em> 函数。</p>
- <button id="myBtn">点击这里</button>
- <script>
- document.getElementById("myBtn").onclick=function(){displayDate()};
- function displayDate()
- {
- document.getElementById("demo").innerHTML=Date();
- }
- </script>
- <p id="demo"></p>
- </body>
- </html>
提示:可以修改后运行.
onload 和 onunload 事件
onload 和 onunload 事件会在用户进入或离开页面时被触发。
onload 事件可用于检测访问者的浏览器类型和浏览器版本,并基于这些信息来加载网页的正确版本。
onload 和 onunload 事件可用于处理 cookie。
- <body onload="checkCookies()">
- <script>
- function checkCookies()
- {
- if (navigator.cookieEnabled==true)
- {
- alert("已启用 cookie")
- }
- else
- {
- alert("未启用 cookie")
- }
- }
- </script>
提示:可以修改后运行.
onchange 事件
onchange 事件常结合对输入字段的验证来使用。输入英文字符
下面是一个如何使用 onchange 的例子。当用户改变输入字段的内容时,会调用 upperCase() 函数。
- <script>
- function myFunction()
- {
- var x=document.getElementById("fname");
- xx.value=x.value.toUpperCase();
- }
- </script>
- 请输入英文字符:<input type="text" id="fname" onchange="myFunction()">
- <p>当您离开输入字段时,会触发将输入文本转换为大写的函数。</p>
提示:可以修改后运行.
onmouseover 和 onmouseout 事件
onmouseover 和 onmouseout 事件可用于在用户的鼠标移至 HTML 元素上方或移出元素时触发函数。
- <div onmouseover="mOver(this)" onmouseout="mOut(this)">把鼠标移到上面</div>
- <script>
- function mOver(obj)
- {
- obj.innerHTML="谢谢"
- }
- function mOut(obj)
- {
- obj.innerHTML="把鼠标移到上面"
- }
- </script>
提示:可以修改后运行.
onmousedown、onmouseup 以及 onclick 事件
onmousedown, onmouseup 以及 onclick 构成了鼠标点击事件的所有部分。首先当点击鼠标按钮时,会触发 onmousedown 事件,当释放鼠标按钮时,会触发 onmouseup 事件,最后,当完成鼠标点击时,会触发 onclick 事件。
- <div onmousedown="mDown(this)" onmouseup="mUp(this)">请点击这里</div>
- <script>
- function mDown(obj)
- {
- obj.style.backgroundColor="#1ec5e5";
- obj.innerHTML="请释放鼠标按钮"
- }
- function mUp(obj)
- {
- obj.style.backgroundColor="green";
- obj.innerHTML="请按下鼠标按钮"
- }
- </script>
提示:可以修改后运行.
- <script>
- function myFunction(x)
- {
- x.style.background="yellow";
- }
- </script>
- 请输入英文字符:<input type="text" onfocus="myFunction(this)">
- <p>当输入字段获得焦点时,会触发改变背景颜色的函数。</p>
提示:可以修改后运行.
- <h1 onclick="changetext(this)">请点击该文本</h1>
- <script>
- function changetext(id)
- {
- id.innerHTML="谢谢!";
- }
- </script>
- <h1 onclick="this.innerHTML='谢谢!'">请点击该文本</h1>
- <h1 onmouseover="style.color='red'" onmouseout="style.color='blue'">请把鼠标移到这段文本上</h1>