带着问题去看书学习啦~
HTML5+CSS3+JavaScript Web 前端开发案例教程(慕课版)【不推荐】,微信读书中找到的学习Web前端书籍,第9章开始啦,耶(^-^)V
<input id="save" name="bt_save" type="button" value="保存">
<script language="javascript">
var b_save=document.getElementById("save");
b_save.onclick=function(){
alert("单击了保存按钮");
}
</script>
由于html代码是按照顺序执行的,所以像input表单定义这里,一定要放在js代码前面,这样才能操作到对象,否则会报空。当然也是有方式让js代码在最后执行的,先把页面渲染出来再执行js代码,这点后续再说。
注意:在JavaScript中指定事件处理程序时,事件名称必须小写,才能正确响应事件。
在HTML中调用事件处理程序,只需要在HTML标签中添加相应的事件,并在其中指定要执行的代码或是函数名即可。
<input name="bt_save" type="button" value="保存" onclick="alert(’单击了保存按钮’);">
or
<input name="bt_save" type="button" value="保存"onclick="clickFunction();"><script>
function clickFunction(){
alert("单击了保存按钮");
}
</script>
click、submit、mouseover 等
注意:目前除IE外,其他主流浏览器如Firefox、Opera、Safari都支持标准的DOM事件处理模型。IE仍然使用自己的模型,即冒泡型。
element.attachEvent ('onclick', observer); // 注册事件监听器
element.detachEvent('onclick', observer); // 移除事件监听器
// 第一个参数是事件名称,第二个参数 observer 是回调处理函数,第三个参数注明该回调处理函数是在事件传递过程中的捕获阶段被调用还是冒泡阶段被调用,默认true为捕获阶段
element.addEventListener('click', observer, useCapture); // 注册事件监听器(既支持注册冒泡型事件,又支持捕获型事件。)
element.removeEventListener('click', observer, useCapture); // 移除事件监听器
直接在DOM节点上加事件
function
someHandle() {
window.event.cancelBubble = true;
}
**DOM标准的浏览器:**通过调用event对象的stopPropagation()即可
function someHandle(event) {
event.stopPropagation();
}
因此,跨浏览器的停止事件传递的方法是:
function someHandle(event) {
event = event || window.event;
if(event.stopPropagation)
event.stopPropagation();
else
event.cancelBubble = true;
}
真的是不推荐此书噢,越看下去,越觉得...一言难尽。
此篇正篇中,鼠标的移出事件这里就写错了单词,有点误人子弟的意味。至于示例,可以参考一下,自己练习练习,当然也是有好处的。起码敲代码会逐步熟练。敲代码速度也会逐步加快,加上大概会走了不少坑,虽说有点费时间,可是从坑里爬出来后,一切都会豁然开朗。