Показать сообщение отдельно
  #1 (permalink)  
Старый 30.07.2011, 00:00
Интересующийся
Отправить личное сообщение для pharrell Посмотреть профиль Найти все сообщения от pharrell
 
Регистрация: 27.04.2011
Сообщений: 20

Функцияч для обращения к элементам шалит
Есть у меня своя функция для обращения к элементам :
function $(e,context)
{
	//context=(context ? context : document);
	if(typeof e=="object")el=e;
	else
	{
		el=e.slice(1);
		em=e.charAt(0);
		switch(em)
		{
			case "#":el=document.getElementsByTagName(el);break;
			case ".":el=document.getElementsByClassName(el);break;
			case "*":el=document.getElementsByName(el);break;
			default:el=document.getElementById(e);
		}
	}
	if(el!=null&&el!="undefined")
	{
		el.html=function(d){this.innerHTML=d;return $(this)}
		el.txt=function(d){this.innerText=d;return $(this)}
		el.attr=function(attr,val){this.setAttribute(attr,val);return $(this)}
		el.addEvent=function(ev,fn)
		{
			if (this.addEventListener)
				this.addEventListener(ev, fn, false);
			else
			{ 
				if (this.attachEvent)
					this.attachEvent('on' + ev, fn)
					else 
				this['on' + ev] = fn
			}
			return $(this)
		};
		el.click=function(f){addEvent(this,"click",f);return $(this)};
		el.onchange=function(f){this.addEvent("change",f);return $(this)};
		el.onclick=function(f){this.setAttribute("onclick",f);return $(this)};
		el.del=function(){this.parentNode.removeChild(this)};
	}
	return el;
}


Только что заметил проблему
Если делать так
<a onclick="$(this).html('hello')">click me</a>

И нажать на ссылку,то на эту ссылку вешаеться обработчик onclick и onchange, который никак не относиться к изначальному onclick, а соответствует методу onclick из функции $.
А если нажать на нее второй раз, то атрибут onclick становиться ="[object MouseEvent]"
помогите пожалуйста!!!Что делать
Ответить с цитированием