简单挑战: 找到两个不同元素(使用它们的 #ID 作为参考)下的所有 LI 元素,并绑定一个单击处理程序,该处理程序会更改 LI 的文本颜色。以下是在所有流行的事件/选择器库中执行此操作的方法。
Behaviour.register({
'#item li': function(element) {
Event.observe(element, 'click', function(event) {
Event.element(element).setStyle({color: '#c00'});
});
},
'#otheritem li': function(element) {
Event.observe(element, 'click', function(event) {
Event.element(element).setStyle({color: '#c00'});
});
}
});
$$('#item li, #otheritem li').each(function(li){
Event.observe(li, 'click', function(event) {
Event.element(li).setStyle({color: '#c00'});
});
});
EventSelectors.start({
'#item li:click, #otheritem li:click': function(){
this.setStyle({'color': '#c00'});
}
});
$("#item li, #otheritem li").click(function(){
$(this).css('color', '#c00');
});
我认为代码本身就说明了一切,哪一个最容易使用和理解。我发现 Prototype 正在 向 jQuery 的当前方向迁移——而 jQuery 本身则正在使用一些非常酷的新功能突飞猛进。一定要关注新版本,它们很快就会发布。