| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
Prototype: селекторы и события
Prototype определённо одна из мощнейших Javascript библиотек, но у неё есть один небольшой недостаток который зачастую ошибочно принимают за большой — отсутствие родной поддержки связывания селекторов с событиями. Для сравнения — в jQuery это одна из основных фич и трудно вообще представить jQuery без этого. Для тех кто не в курсе — это возможность отделять наш Javascript от XHTML посредством CSS селекторов, большенство таких событий как onclick, onmouseover, onmouseout, onblur, onfocus и тому подобные. Одним из первых решений данной проблемы опубликовал некто Ben Nolan. Он написал Behaviour небольшой плагин который решил эту проблему и вполне пригоден и сейчас. Его минус это большие портянки кода для правил и негибкость переиспользования этих правил в этоге большой размер скрипта. Благодаря jQuery лёгкости и минимальности написания кода на нём, кое кто подумал что пора заимплиментить такой же стиль в Prototype. И вот Justin Palmer после недолгих раздумий учтя минусы Behaviour написал event:Selectors. Это было уже гораздо ближе к jQuery плюс возможность группировать несколько и более разных селекторов с разными событиями используя псевдо селекторы событий. В jQuery такой возможности нет, хотя впринципе она и не особа востребована. К большому сожелению этот плаги не стал развиватса и так и остался в версий 1.0 с некоторым количеством багов. Скорее всего его развитие остановилось всвязи с появлением очередного UJS плагина от парня с говорящей фамилией Dan Webb. Его решение называетса Low Pro и являетса мощным инструментом так как расширяет Prototype Event API. Причом хочу заметить что есть версия плагина для jQuery. Скачать Low Pro можно здесь Ну а теперь давайте посмотрим его в действии: Сначала включим наши библиотеки в XHTML и не забывайте — чтобы всё работало ваш XHTML должен быть валидным, иначе Javascript может вести себя непредсказуемо. В main.js мы будем добовлять наши правила. Пример 1: Event.addBehavior({
'div.myclass a:click' : function(e) {
alert('Example 1');
return false;
}
});
И вот наше первое правило которое перехватывает onclick событие во всех "div" с классом "myclass" для всех элементов "a". return false нужен чтобы не сработало обычное поведения елемента "a". Пример 2: Event.addBehavior({
'div.myclass a:click' : function(e) {
alert('Example 1');
return false;
},
'div[id*=cde]:click, div[id$=cd]:mouseover, div[id^=abcdef]:mouseout' : function(e) {
alert('Example 2');
}
});
В этом примере испльзуютса CSS селекторы аттрибутов третьего уровня и группировка правил с разными событиями. Как видите всё очень просто, писать больше примеров я думаю не стоит, лучше скачайте их здесь Автор: http://npfly.habrahabr.ru/ Рубрика: Java Script
Вышел MySQL 5.1.30, первый стабильный рели....
После публикации 29 тестовых версий анонсирован первый стабильный релиз MySQL 5.1, пригодный для промышленной эксплуатации и обеспечивающий увеличение производительности для "тяжелых" SQL запросов, по сравнению с MySQL 5.0, примерно на 15-20%. Главные новшества появившиеся в MySQL 5.1:
Подробнее... |
Рубрика: MySQL
| Добавлено: 28.11.2008
Тестирование параллельных программ.
Тестирование параллельного программного обеспечения представляет собой более сложную задачу по сравнению с тестированием последовательной программы. Программист должен знать о подводных камнях при тестировании параллельного кода, имеющихся методологиях и инструментарии.
Подробнее... |
Рубрика: Тестирование
| Добавлено: 28.11.2008
Архитектура AMD64 (EM64T).
Аннотация. В статье кратко рассматривается архитектура AMD64 компании AMD и ее реализация EM64T компании Intel. Описаны особенности архитектуры, ее возможности, достоинства и недостатки.
Подробнее... |
Рубрика: Архитектура AMD
| Добавлено: 27.11.2008
Остальные статьи: |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|