Сообщение от Gvozd
|
сколько платите?
Необходимое более подробное ТЗ, указывающее что именно вам не подходит в том решении, и что необходимо добавить?
|
10$ - 15$
можно использовать все материалы отсюда
http://javascript.ru/tutorial/events/crossbrowser
функциональность нужна такая же
но только переработать всю эту запуттаность в такой вид
var _$$={
$e:{
add:function(elem, type, handler) {
},
remove:function(elem, type, handler) {
}
}
}
var $$e=_$$.$e;
$$e.add(document.getElementById("xxxsss"),'click',function(event) { alert('1');});
имменно в такой вид
в первую очередь чтобы было понятно мне
код должен работать во всех браузерах как и тот что по ссылке выше
Вот например универсальный код
var _$$={
$e:{
add:function(obj, e, h) {
if (obj.addEventListener) {
obj.addEventListener(e, h, false);
} else if (obj.attachEvent) {
obj.attachEvent('on'+e, h);
}
else {
obj['on'+e]=function() {
h();
};
}
},
del:function(obj, e, h) {
if (obj.removeEventListener) {
obj.removeEventListener(e, h, false);
} else if (obj.detachEvent) {
obj.detachEvent('on'+e, h);
}
else {
obj['on'+e]=null;
}
}
}
}
но тут нельзя назначать новые обработчики к одному и тому же элементу и удалять старые
в том примере что по ссылке создается очень странный dump
elem.events = {
'click' : {
1 : function(e) { alert("Hi!") },
2 : function(e) { alert("I am clicked") }
},
'mouseover' : {
3 : function(e) { alert("Mouse over!") }
}
}
а если допустим я одну и туже функцию назначу в качестве события двум разным элементам... а потом захочу из первого ее удалить?
не уверен что в том коде это прокатит
в общем вот так вот...