События. как грамотно назначить
Просматривал скрипты, но так подходящего варианта для себя не нашел.
Вот есть код, читабелен и по полочкам в нем все разложено, но как дело доходит до событий - получается слишком топорно и не изящно и выбивается из общей картины.. Например скрипт (function(window) { var a = {}, b = function () { // что-то там }, c = function () { // еще что-то там }, e = function (target, type, handler) { if (target.addEventListener) { target.addEventListener(type, handler, false); } else { target.attachEvent("on" + type, function (event) { return handler.call(target, event); }); } }; // ну и так далее.. Принцип монолитность и изящность. Все видно и понятно // Бардак (ИМХО) начинается тут: addEvent(document, "mousedown", a); addEvent(document, "mousemove", b); addEvent(document, "mouseup", g); addEvent(document, "mouseup", j); addEvent(xxx, "click", f); addEvent(eee, "mousedown", v); addEvent(ddd, "mouseup", t); document.onmousedown = function () { return false; }; // Я до сих пор не научился оформлять события. Неужели это единственный способ задать событие в конкретном примере? Ведь событий может быть очень много, может проще их объединить в одно? Или как лучше? }(this)) Дайте какой-нибудь скрипт поизучать или посоветуйте где поискать, что посмотреть, где почитать? |
лучше всего делать в духа типа :
addEvent(document, { "mousedown": a, mouseup: b // ... }); |
melky,
хорошая идея, попробую реализовать! Спасибо! |
dmitry111,
посмотри как это реализуют в jQuery и пр. Ну и как вариант отличный от того же jQuery: var module = [ { type: 'search', selector: '#search', events: [ { on: 'click', handler: function() { } } ], } //.., ]; Или так: var module = [ { type: 'search', selector: '#search', on: [ click: function() { } ], } //.., ]; |
Часовой пояс GMT +3, время: 01:00. |