1、JS常用事件
blur:失去焦点
focus:获取焦点
click:鼠标单击
dblclick:鼠标双击
keydown:键盘按下
keyup:键盘弹起
mousedown:鼠标按下
mousemove:鼠标移动
mouseover:鼠标经过
mouseout:鼠标离开
mouseup:鼠标弹起
reset:表单重置submit:表单提交
change:下拉列表选中项改变,或文本框内容改变select:文本被选中load:页面加载完毕(整个HTML页面的所有元素全部加载完毕之后发生)
2、注册事件的两种方式
- 直接在标签中使用事件句柄
以下代码的含义是:将sayHello函数
注册到按钮上,等待click事件
发生后,该函数被浏览器调用,我们称这个函数是回调函数。
< input type="button" value="点击" onclick="sayHello()"/>
< script>
function sayHello(){
alert("hello");
}
< /script>
- 使用纯JS代码完成事件的注册
< input type="button" value="hello" id="mytest"/>
- 先获取这个按钮对象(document是全部小写,内置对象,可以直接用,document代表整个HTML页面)
var mytestObj=document.getElementById("mytest");
- 给按钮对象的onclick属性赋值
//mytestObj.οnclick="回调函数"
eg:< script>
Hello=function(){
alert("Hello");
}
< /scripe>
mytestObj.οnclick=Hello//千万别加小括号,
mytestObj.οnclick=“Hello()”;是错误的
也可以是不写上面的Hello函数采用匿名函数:
mytestObj.onclick=function(){
alert("Hello");
}
终极回调函数:onload
事件句柄会等页面加载完毕后才会发生
window.onload=function(){
document.getElementById("HelloKitty").onclick=function(){
alert("Hello");}
}
< input type="button" value="hello" id="HelloKitty">
这个按钮就算是写下面也不会导致上面的id
没有赋值,因为onload
会把页面里面的因素都加载完才会发生
3、JS的void运算符
void运算符的语法:void(表达式)
运算原理:执行表达式,但不返回任何结果
javascript:void(0)
其中“javascript:”
作用是告诉浏览器后面是一段JS代码
以下程序的“javascript:”是不能省略的
< a href="javascript:void(0)" onclick="window.alert('hellokitty')">< /a>
该段代码既保留了超链接的样式,同时用户点击该链接的时候执行一段JS代码,且页面还不会跳转,也就是阻断了a标签
的跳转。