文章目录
- 不使用 jQuery,给元素注册事件监听器
- 通过jQuery给元素注册事件监听器
- 通过标签的属性来注册事件监听器
不使用 jQuery,给元素注册事件监听器
<script type="text/javascript">window.onload = function () {alert("test");var a = document.getElementById("validate");// 注册事件监听器a.onclick = function () {alert("test");};};
</script>
代码解读:
浏览器在加载 HTML 文档时,加载到标签 <script/>
时就会立即执行标签体中的代码。于是 window.load = function(){};
会被执行,这行代码的作用就是给对象 window 注册加载事件监听器,因此当 HTML 文档全部加载完成后,就表示发生了加载事件,那么监听加载事件的函数就会被执行,即 function(){};
内的代码会被执行,而这个函数内的代码的作用就是给 id=validate
的元素注册点击事件监听器,最后的效果就是 HTML 文档加载完毕后,id=validate
的元素就已经注册了点击事件监听器。
window.load = function(){};
其中的匿名函数 function(){}
就是一个函数对象,将函数对象赋值给窗口对象 window 的属性 load,就是给对象 window 注册加载事件监听器。
通过jQuery给元素注册事件监听器
$(function(){$("#create").click(function(){location="form.action";});
});
代码解读:
$()
是jQuery的load事件处理函数,当HTML页面全部加载完后就会执行函数 $()
。$(function(){})
而这个代码语句含义就是将函数对象 function(){}
传入函数 $()
中,那么当执行函数 $()
时,该函数内部就会去执行 function(){}
中的代码。而 function(){}
内的代码作用就是找到 id=create 的元素,这里使用 jQuery 的重载函数 $()
获取 DOM 对象,并且封装成 jQuery 对象,再调用 jQuery 对象的函数 click()
来给 id=create 的 DOM 对象注册点击事件监听器。当该 DOM 对象发生点击事件时,就会调用点击事件监听器,而该监听器中的代码 location="form.action"
的作用就是将 DOM 对象的属性 location 的值设为 form.action
,设好之后浏览器就会立即向 form.action
这个资源发送访问请求。
通过标签的属性来注册事件监听器
<input class="button" type="button" value="新建项目" onclick="location='projectform.action';"/>
如上的标签 <input/>
的属性 onclick 就可以指定点击事件处理程序。其中的 location='projectform.action';
是 JS 代码语句,点击事件发生时就会执行这条代码语句。这条代码的作用就是将标签 <input/>
的属性 location 赋值为 projectform.action
,那么赋值后浏览器就会立刻向 projectform.action
资源发送访问请求。