0 Comments

事件库

发布于:2014-04-02  |   作者:广州网站建设  |   已聚集:人围观

事件库

很多时候我们仅仅是将JavaScript 类库用于事件管理,毕竟手动处理众多浏览器的差异性吃力不讨好。现在我为大家介绍如何使用jQuery 的API 来做事件管理,当然使用其他的类库也是不错的选择,比如Prototype(http://www.prototypejs.org/)、MooTools(http://mootools.net/)和YUI(http://developer.yahoo.com/yui)。可以参照更多更深入的文档来获取它们各自的API 信息。

jQuery 的API 提供了bind() 函数用来跨浏览器绑定事件监听。在一个jQuery 实例上调用此函数,传入事件名称和回调函数:


  1. jQuery("#element").bind(eventName, handler); 

 

比如,给一个元素注册点击事件:

  1. jQuery("#element").bind("click", function(event) {  
  2. // ...  
  3. }); 

 

jQuery 提供了一些常用事件的快捷方法,比如click、submit 和mouseover。看这段代码:

  1. $("#myDiv").click(function(){  
  2. // ...  
  3. }); 

 

需要注意的是,使用这个方法之前要确保DOM 元素是存在的,这一点很重要。例如,应当在页面载入完成后绑定事件,因此需要绑定window 的load 事件,然后添加监听:

  1. jQuery(window).bind("load", function() {  
  2. $("#signinForm").submit(checkForm);  
  3. }); 

然而,还有一个比监听window 的load 事件更好的方法,即DOMContentLoaded。当DOM 构建完成时触发这个事件,这时图片和样式表可能还未加载完毕。这也就是说这个事件一定会在用户和页面产生交互之前触发。
广州网站建设,广州网站设计,广州网站制作,网站建设,网站设计,广州网站建设公司,广州网站设计公司

并不是所有的浏览器都支持DOMContentLoaded,因此jQuery 将它融入了ready() 函数,这个函数是兼容各个浏览器的:


  1. jQuery.ready(function($)){  
  2. $("#myForm"). bind("submit", function(){ /*...*/});  
  3. }); 

 

实际上,可以不用ready() 函数而直接将回调函数写入jQuery 对象。

  1. jQuery(function($){  
  2. // 当页面内容可用时调用  
  3. }); 
标签:
飞机