Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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]"
помогите пожалуйста!!!Что делать
Ответить с цитированием
  #2 (permalink)  
Старый 30.07.2011, 02:23
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Сообщение от pharrell
Что делать
Могу сказать, как делать не надо. Весь код - это неправильно, и вовсе не то, что ты думаешь.
Ответить с цитированием
  #3 (permalink)  
Старый 30.07.2011, 03:35
Интересующийся
Отправить личное сообщение для pharrell Посмотреть профиль Найти все сообщения от pharrell
 
Регистрация: 27.04.2011
Сообщений: 20

А как надо?
Ответить с цитированием
  #4 (permalink)  
Старый 30.07.2011, 10:26
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

а ты что вообще хотел, когда этот код писал? мне непонятно,зачем все это
Ответить с цитированием
  #5 (permalink)  
Старый 30.07.2011, 11:57
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

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

melky ава клевая!!)
Я хотел когда писал этот код удобно обращаться к элементам без jquery , потому что мне большего ненадо)!А как думаете, стоит ради этого ее подключать?
Ответить с цитированием
  #7 (permalink)  
Старый 30.07.2011, 19:05
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Конечно, лучше подключить jQuery, чем городить ошибочный код.
Ответить с цитированием
  #8 (permalink)  
Старый 30.07.2011, 21:57
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от pharrell Посмотреть сообщение
А как думаете, стоит ради этого ее подключать?
Сообщение от Sweet Посмотреть сообщение
Конечно, лучше подключить jQuery, чем городить ошибочный код.
не стоит [trollface].

подключай Sizzle(он вшит в jquery)

или YASS. yass вроде как самая быстренькая.

Сообщение от pharrell Посмотреть сообщение
melky ава клевая!!)
спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Новая система управления сайтом Scripto CMS deepslam Ваши сайты и скрипты 38 31.01.2011 14:55
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 13:31