Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.06.2013, 15:55
Аватар для VladShestakov999
Интересующийся
Отправить личное сообщение для VladShestakov999 Посмотреть профиль Найти все сообщения от VladShestakov999
 
Регистрация: 01.06.2013
Сообщений: 28

Javascript-магистрам
О великие Javascript-магистры )) Нормально ли я реализовал галерею изображений + тултип на уровне знаний до статьи "Делигирование событий", что в теме "События, взаимодействие с посетителем"( http://learn.javascript.ru/event-delegation ) ?)) http://learn.javascript.ru/play/hfR3Cb
Ответить с цитированием
  #2 (permalink)  
Старый 16.06.2013, 16:07
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

лично я, вроде, косяков серьёзных не нашёл, только идентификация косячная - лучше помечать картинки своим тегом (добавить случайный класс), чтобы не цеплять чужие.

но тут этого не нужно было делать

ну и по мелочи, вроде такого :

span.onclick=function(e){
  ...
  var largeImg=document.getElementById('largeImg');
  ...
}

largeimg лучше закешировать и не искать одно и то же при каждом клике
Ответить с цитированием
  #3 (permalink)  
Старый 16.06.2013, 16:11
Аватар для VladShestakov999
Интересующийся
Отправить личное сообщение для VladShestakov999 Посмотреть профиль Найти все сообщения от VladShestakov999
 
Регистрация: 01.06.2013
Сообщений: 28

Логично)) Спасибо за помощь
Ответить с цитированием
  #4 (permalink)  
Старый 16.06.2013, 16:12
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

VladShestakov999,
в старых ИЕ это работать не будет
var target = e.target || event.srcElement;

так как на e.target выдаст ошибку и проверка не будет выполнена, а так работать будет
var target = event.srcElement ||  e.target ;

так же нельзя делать так (точнее делать можно но работать не будет, не помню точно где, вроде в том же старом ие или лисе, вроде в лисе)
e = e || window.event;

но можно так
function(evt){
 var e = evt || window.event;
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #5 (permalink)  
Старый 16.06.2013, 16:29
Аватар для VladShestakov999
Интересующийся
Отправить личное сообщение для VladShestakov999 Посмотреть профиль Найти все сообщения от VladShestakov999
 
Регистрация: 01.06.2013
Сообщений: 28

Цитирую учебник:
Цитата:
В IE<9 он доступен как event.srcElement, остальные браузеры используют event.target. Кроссбраузерное решение выглядит так:

var target = event.target || event.srcElement;
Про второе незнаю, но если это так - буду знать. Но вроде второе это именованные аргументы и ничего того про FF там нету. ( http://learn.javascript.ru/arguments-named )
Ответить с цитированием
  #6 (permalink)  
Старый 16.06.2013, 16:38
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

VladShestakov999,
я читал эту книгу, и в свое время я наступил на эти грабли, не верите, пробуйте сами
<!DOCTYPE HTML>
<html>
  <head> </head>
  <body>
    
    <div id='test'>
      <span>click span(does not work in old IE)</span>
    </div>
    
    <div id='test1'>
      <span>click span( work in old IE)</span>
    </div>
    
    <script>

      document.getElementById('test').onclick = function (e)
      {
        var target = e.target || event.srcElement;
        
        alert('work')
      
      }
      
      
       document.getElementById('test1').onclick = function (e)
      {
        var target = event.srcElement || e.target;// меняем местами
        
        alert('work')
      
      }
      


    </script>

  </body>
</html>
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #7 (permalink)  
Старый 16.06.2013, 16:41
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

VladShestakov999, второе так же можете проверить(в последней версии лисы , бага нет но в старых есть)...
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #8 (permalink)  
Старый 16.06.2013, 16:45
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

cyber,
Для начала нужно получить window.event для ie. А потом уж проверять на target/srcElement
Ответить с цитированием
  #9 (permalink)  
Старый 16.06.2013, 16:46
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

zebra,
в ие event это свойство window.
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #10 (permalink)  
Старый 16.06.2013, 16:48
Аватар для VladShestakov999
Интересующийся
Отправить личное сообщение для VladShestakov999 Посмотреть профиль Найти все сообщения от VladShestakov999
 
Регистрация: 01.06.2013
Сообщений: 28

Ну и правильно)) С чего бы ему работать? В учебнике четко написано:
Цитата:
IE8- вместо передачи параметра обработчику создаёт глобальный объект window.event. Обработчик может обратиться к нему.
Поэтому если вы переопределите объект событий следующим образом, то все будет работать:
e=e || window.event;
        var target = e.target || e.srcElement;

Попробуйте, через IE tester, например: http://learn.javascript.ru/play/Ah6tz А по поводу FF не знаю, возможно вы и правы. Стоит проверить

Последний раз редактировалось VladShestakov999, 16.06.2013 в 16:54.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книга: JavaScript. Сильные стороны Magneto Учебные материалы 16 21.04.2013 15:28
Интерпретатор Java на JS kobezzza Оффтопик 24 11.10.2012 18:32
Первый Moscow JavaScript Meetup korenyushkin Общие вопросы Javascript 0 26.07.2011 15:23
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34