Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 08.07.2015, 12:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Сообщение от KosBeg
Ты/Вы уверен/ы?
да, смотреть вторая строка по ссылке ниже
не срабатывает event.returnValue
Ответить с цитированием
  #12 (permalink)  
Старый 08.07.2015, 13:05
Аватар для KosBeg
Профессор
Отправить личное сообщение для KosBeg Посмотреть профиль Найти все сообщения от KosBeg
 
Регистрация: 22.05.2015
Сообщений: 384

Сообщение от рони
да, смотреть вторая строка по ссылке ниже
понятно, сам код написал - поэтому и уверен =)
общем я пример написал - пост здан
Сообщение от Rise
а зачем функцию инициализации в прототип засунул
учился по jQuery =)
там так же через прототип
=======================================
я наверное тупой но в мозиле все работает...
<html><head><meta charset="UTF-8"><title>Document</title></head>
<body>
<a href="http://vk.com">1 ссылка</a><br>
<a href="http://vk.com">2 ссылка</a><br>
<a href="http://vk.com">3 ссылка</a><br>
<a href="http://vk.com">4 ссылка</a>

<script type="text/javascript">
function _init_(el){
  this.s = document.querySelectorAll(el);
}

function _A_(el){
  return new _init_(el)      
}

// установка обработчиков
_init_.prototype.on = function(event, func, param){
  for(var i = 0; i < this.s.length; i++){
    addEvent(this.s[i], event, func, param);
  }
};

//addEvent минифицировал что бы не маячило перед глазамы
function addEvent(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d||!1):a.attachEvent("on"+b,c);return!1};

// а вот и наш метод
_A_('a').on('click', function(event){
  console.log(this);
  event.preventDefault();
});
</script></body></html>

Последний раз редактировалось KosBeg, 08.07.2015 в 13:42.
Ответить с цитированием
  #13 (permalink)  
Старый 08.07.2015, 13:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

KosBeg,
проблема не в console.log(this);

а в
Сообщение от Rise
console.log(Helper(this));
Сообщение от рони
не решает проблему, elem как и у sash003, только строка а инициализировать надо строку, елемент или nodeList
название темы не отражает существа проблемы -- проблема не с this, а с инициализацией this
Ответить с цитированием
  #14 (permalink)  
Старый 08.07.2015, 13:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Сообщение от KosBeg
this.s = document.querySelectorAll(el);
это надо переделать
Ответить с цитированием
  #15 (permalink)  
Старый 08.07.2015, 13:37
Аватар для KosBeg
Профессор
Отправить личное сообщение для KosBeg Посмотреть профиль Найти все сообщения от KosBeg
 
Регистрация: 22.05.2015
Сообщений: 384

теперь понял, если условно описать то что происходит - то получается так =)
param = document.querySelectorAll(document.querySelector('a'));
console.log(param);

я правильно понял?
Ответить с цитированием
  #16 (permalink)  
Старый 08.07.2015, 13:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

KosBeg,
да
Ответить с цитированием
  #17 (permalink)  
Старый 08.07.2015, 15:31
Аватар для sash003
Аспирант
Отправить личное сообщение для sash003 Посмотреть профиль Найти все сообщения от sash003
 
Регистрация: 23.10.2014
Сообщений: 72

Да, у меня через queryselectorAll делается выборка
function _init_(el){
       this.s = document.querySelectorAll(el);
   }
   
 // главная и самая сложная функшн
 function _A_(el){
     return new _init_(el)      
 }
_init_.prototype.on = function(event, func, param){
    for(var i = 0; i < this.s.length; i++){
        addEvent(this.s[i], event, func, param);
    }
    //return this;
}

Я не знаю как переделать, подскажите
Ответить с цитированием
  #18 (permalink)  
Старый 08.07.2015, 15:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

sash003,
без защиты от дурака
function _init_(el){

       this.s = typeof el == "string" ? document.querySelectorAll(el) : el.length ? el : [el];

   }
Ответить с цитированием
  #19 (permalink)  
Старый 08.07.2015, 16:09
Аватар для sash003
Аспирант
Отправить личное сообщение для sash003 Посмотреть профиль Найти все сообщения от sash003
 
Регистрация: 23.10.2014
Сообщений: 72

рони,
Благодарочка, теперь и parent - функция работает, и вобще всё круто!!
А насчёт защиты от дураков, их мильёны, от них не защитишься.. пусть себе, подумаешь, не буде работать просто

Последний раз редактировалось sash003, 08.07.2015 в 16:12.
Ответить с цитированием
  #20 (permalink)  
Старый 08.07.2015, 17:50
Аватар для KosBeg
Профессор
Отправить личное сообщение для KosBeg Посмотреть профиль Найти все сообщения от KosBeg
 
Регистрация: 22.05.2015
Сообщений: 384

Сообщение от Rise
решили повторить путь товарища Резига?
я сейчас точно нет, хотя в прошлом(месяц назад) хотел, а вот по поводу sash003 незнаю
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
initComponent: Как получить данные родителя и как получить store для вызова load()? Пролетарий ExtJS 76 04.07.2015 09:22
jquery получить родителя и обратится к элементу внутри по class _Eldar_ Общие вопросы Javascript 6 05.04.2015 19:32
Получить все точки отрезка прямой? Gozar Оффтопик 84 29.12.2014 16:18
Получить координаты курсора в текстовом поле в пикселях prike Events/DOM/Window 4 23.05.2013 04:35
Получить значение value - как ? lamer Общие вопросы Javascript 26 12.08.2012 10:33