窥探jQuery——面向JavaScript程序员
2010-09-14 13:09:45 来源:WEB开发网jQuery('p').one('click', function() { alert(jQuery(this).html()); });
one()设定的事件在第一次被触发后便被移除。上面的示例会让所有段落在第一次被点击时显示其文字内容。
凭借bind()和trigger()方法,jQuery也可以支持自定义事件(click()家族仅仅是便捷方法,只支持有限的事件)。自定义事件可接受参数,trigger()可接受数组作为参数,来做各种处理操作:
jQuery(document).bind('stuffHappened', function(event, msg) {
alert('stuff happened: ' + msg);
});
jQuery(document).trigger('stuffHappened', ['Hello!']);
渐进式编码(Unobtrusive scripting)
本小节的标题很令我钟意。我一直认为,最好的Web应用程序,往往是那些在脚本被禁用后仍能正常使用的程序。想建立这样的应用程序,最好的方法就是遵循渐进式编码,让普通页面完全加载后,再为页面中的元素赋以事件处理(更多信息可参考渐进式编码和Hijax)。
jQuery对这种编码策略提供了绝好支持。首先,从整体上看,节点选取暗合jQuery以及渐进式编码的核心理念。其次,针对window.onload问题,jQuery提供了一套解决方案,这套方案借鉴了Dean Edward的成果,使得以“DOM加载完毕”为信号的事件能跨浏览器工作。你可以在浏览器完全加载DOM后设定并运行一个函数,如下所示:
jQuery(document).ready(function() {
alert('The DOM is ready!');
});
你甚至可以直接传递一个函数给jQuery(),以更简洁的方式达到同样效果:
jQuery(function() {
alert('The DOM is ready!');
});jQuery与Ajax(jQuery and Ajax)
更多精彩
赞助商链接