JavaScript + HTML DOM (keep for myself)
1.改变 HTML 输出流
JavaScript 能够创建动态的 HTML 内容
eg.
<script>
document.write(Date());
</script>
绝对不要在文档加载完成之后使用 document.write()。这会覆盖该文档。
2.改变 HTML 内容
如需改变 HTML 元素的内容,请使用这个语法:
如需改变 HTML 元素的属性,请使用这个语法:
如需改变 HTML 元素的样式,请使用这个语法:
HTML 事件的例子:
- 当用户点击鼠标时
- 当网页已加载时
- 当图像已加载时
- 当鼠标移动到元素上时
- 当输入字段被改变时
- 当提交 HTML 表单时
- 当用户触发按键时......
onload 事件可用于检测访问者的浏览器类型和浏览器版本,并基于这些信息来加载网页的正确版本。
onload 和 onunload 事件可用于处理 cookie。
(3)onchange 事件
<input type="text" id="fname" onchange="upperCase()">
(4)onmouseover 和 onmouseout 事件
onmouseover 和 onmouseout 事件可用于在用户的鼠标移至 HTML 元素上方或移出元素时触发函数。
(5)onmousedown、onmouseup 以及 onclick 事件
onmousedown, onmouseup 以及 onclick 构成了鼠标点击事件的所有部分.
(1)addEventListener() 方法用于向指定元素添加事件句柄。
(2)可以向一个元素添加多个事件句柄,且添加的事件句柄不会覆盖已存在的事件句柄
(3)可以向同一个元素添加多个同类型的事件句柄,如:两个 "click" 事件,顺序执行
(4)可以向任何 DOM 对象添加事件监听,不仅仅是 HTML 元素。如: window 对象。
(5)addEventListener() 方法可以更简单的控制事件(冒泡与捕获)。
(6)通过使用 addEventListener() 方法, JavaScript 从 HTML 标记中分离开来,可读性更强。尤其在没有控制HTML标记时,也可以添加事件监听。
(7)使用 removeEventListener() 方法来移除事件的监听。
语法
第一个参数是事件的类型 (如 "click" 或 "mousedown").
第二个参数是事件触发后调用的函数。
第三个参数是个布尔值用于描述事件是冒泡还是捕获。该参数是可选的。
example:
<button id="myBtn">点我</button>
<script>
document.getElementById("myBtn").addEventListener("click", myFunction);
function myFunction() {
alert ("Hello World!");
}
</script>
document.getElementById("demo").innerHTML = sometext;
});
传递参数:
方法:当传递参数值时,使用"匿名函数"调用带参数的函数。
document.getElementById("myBtn").addEventListener("click", function() {
myFunction(p1, p2);
})
选择事件冒泡还是事件捕获?
冒泡:事件触发与执行为由内到外;
捕获:事件触发与执行为由外到内。
useCapture默认为false(冒泡),true为捕获。
removeEventListener() 方法:
removeEventListener() 方法移除由 addEventListener() 方法添加的事件句柄