Prototype非常强大,但是jQuery也非常好用,Prototype当然也象jQuery学习了,比如$$的css选择器,可是使用起来依然不是那么方便,并且随着1.60出现,Prototype库越来越大,我有个想法,想在一定程度上修改Prototype,增加一些有用的功能,去掉一些没用的东西,第一个版本,我扩展了事件的注册机制
原本在Prototype里面如果想注册事件,必须这样
$("id").observe("click",function(){alert("hello world")})
注册多个元素一般这样
$$("div img").each(function(node){node.observe("click",function(){alert("hello")})})
相当的麻烦,那我扩展出了$E函数,专门接受特殊事件伪类选择器添加事件处理函数,可以这样用
$E("#id::click")(function(){alert("hello world")});
甚至
$E("#id::click")("alert('hello world')");
怎么样,简单吧,其实就是原来的css选择器文本加"::"伪类标志,加事件名,比如"click",还添加了Chain.bindEvent方法,可以实现一次大量元素添加事件,比如,现在我想给很多元素添加事件,看下面代码
var target={
"#bbb::click":"alert(234);return false",
"#bbb2::mouseover":function(){alert("haha")},
"#bbb3::mouseout":"prompt()",
"input::mouseover":"confirm('eee')"
}
Chain.bindEvent(target)
这样就全搞定了,以后你所要维护的就是页面当中的一个事件参数列表了,甚至这个列表可以象css一样在各个页面当中复用,本修改版是基于1.5.11版本
- chain.rar (20.8 KB)
- 描述: Chain 版本0.01
- 下载次数: 64
分享到:
- 2007-10-18 22:47
- 浏览 3410
- 评论(6)
- 论坛回复 / 浏览 (6 / 5108)
- 查看更多
相关推荐
在源代码中,可以看到$.fn(即jQuery.prototype)是扩展jQuery功能的主要接口,许多方法如`click()`、`slideUp()`都定义在这里。 接着,我们来看看jQuery的选择器功能。jQuery提供了丰富的选择器语法,包括ID选择器...
- **函数**:作为`ready`事件的回调函数注册。 每种类型的处理方式确保了jQuery对象能够灵活地适应不同的应用场景,并能够正确地获取或创建DOM元素。 #### 五、`jQuery.extend`与`jQuery.fn.extend` `jQuery....
本文将探讨如何利用jQuery实现一个技巧,使得任何组件都能够支持类似于DOM事件的管理,包括事件派发、添加/删除监听器、事件冒泡和阻止默认行为。 首先,我们来看传统的发布-订阅模式。这种模式通常用于实现组件间...
jQuery通过简洁的语法封装了大量JavaScript的常用功能,如选择器(用于选取DOM元素)、DOM操作(添加、删除或修改元素)、事件处理(监听和响应用户行为)以及动画效果(平滑改变CSS属性)。这些功能使得开发者能够...
jQuery详细教程,讲解很透彻, 一. jQuery 语法实例 $(this).hide() 演示 jQuery hide() 函数,隐藏当前的 HTML 元素。 $("#test").hide() 演示 jQuery hide() 函数,隐藏 id="test" 的元素。 $("p").hide() ...
1. **前置过滤器**:jQuery提供了`$.ajaxPrefilter()`方法,可以在发送请求之前对请求选项进行修改。 2. **请求分发器**:`$.ajaxTransport()`允许注册特定类型的请求处理器。 3. **示例**:注册前置过滤器。 ``...
在这个版本中,jQuery提供了一系列实用的功能,如选择器、DOM操作、事件处理、动画效果和Ajax交互等。例如,使用 `$()` 函数可以快速选取HTML元素,`$(document).ready()` 用于在页面加载完成后执行代码,`$.ajax()`...
`Ajax.Responders`是一个注册器,允许你定义全局的回调函数,处理所有Ajax请求的状态变化,如开始、完成、错误等。 6. **模拟表单提交**: Prototype可以很容易地模拟HTML表单的提交,将表单数据通过Ajax发送到...
文件中还提到了如何配置验证器的一些选项,如 `errorClass` 和 `validClass` 类别,这些类别用于在 DOM 元素上添加样式,以显示哪些字段有错误或哪些字段是有效的。 #### 3. 具体验证规则 文件中列举了一些常见的...
1. **定义命名空间**:为了避免和其他代码冲突,我们通常在$.fn(即jQuery.prototype)上定义我们的插件方法。 ```javascript $.fn.myPlugin = function(options) { // 插件代码 }; ``` 2. **封装函数**:将主要...
在jQuery中,我们可以通过选择器获取元素,然后进行操作,如添加或删除类、修改属性、更新HTML内容等。在轮播组件中,这常用于隐藏/显示轮播项、改变导航按钮的状态等。 ### 4. 动画效果 jQuery的`.animate()`方法...
使用JQuery能够实现的功能包括但不限于选择元素、修改元素的属性、添加事件监听器、操作DOM树结构等。这些功能的实现,往往比直接使用原生JavaScript更为简洁。 在讨论JQuery对象时,我们需要注意它与DOM对象之间的...
IconPicker是一款基于jQuery的图标选择器插件,它为用户提供了方便的方式来选择和管理图标。在Web开发中,图标是界面设计的重要元素,用于增强用户体验和视觉吸引力。IconPicker简化了这一过程,允许开发者轻松地...
Sizzle是一个高效的纯JavaScript CSS选择器引擎,从jQuery 1.3版本开始被引入,提高了jQuery在处理复杂选择器时的性能。 jQuery的`data`和`event`模块是其强大功能的关键部分。`jQuery.data`允许开发者存储数据与...
与 Prototype 相比,jQuery 更像 Ruby,提供了一种更加直观和高效的方式来操作 DOM、处理事件、执行 AJAX 请求以及创建动态网页。 1. **选择器**: jQuery 的核心之一就是其强大的选择器功能,它借鉴了 CSS 选择器...
当`define`函数存在且支持AMD时,插件会被注册为一个模块,依赖jQuery并传递工厂函数。否则,工厂函数直接以全局模式执行,接收jQuery作为参数。 ```javascript (function (factory) { if (typeof define === ...
6. **事件处理**: 使用`.on()`方法注册事件监听器,确保当元素动态添加到页面时,插件仍能正确响应。 7. **公开方法**: 为了使插件在创建后可被修改或控制,我们可以公开一些方法。例如,添加一个更新设置的方法:`...