Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обработчик всех событий всего DOM
 
 автор: Sfinks   (31.10.2012 в 11:55)   письмо автору
 
 

Как можно сделать обработчик всех событий сразу для всех элементов DOM?

Цель - сделать autologout.

Т.е. в этом обработчике - одно действие:
var lastAction = new time();

И по таймауту выполняется проверка сколько длится "бездействие". При превышении определенной величины - location('/exit');

  Ответить  
 
 автор: confirm   (31.10.2012 в 12:05)   письмо автору
 
   для: Sfinks   (31.10.2012 в 11:55)
 

Зачем для всех элементов? У всех есть общий родитель - body.
Ну а направить в один обработчик все события, это не проблема.

  Ответить  
 
 автор: Sfinks   (31.10.2012 в 12:38)   письмо автору
 
   для: confirm   (31.10.2012 в 12:05)
 

> У всех есть общий родитель - body.
Я бы даже сказал - html.
Ну это понятно.
Про распространение событий я в курсе.

А вот на счет "направить в один обработчик все события" -это как?
Можно конечно для нескольких самых распространенных событий написать по обработчику.
Но мне кажется есть более элегантное решение.
М?

  Ответить  
 
 автор: confirm   (31.10.2012 в 12:47)   письмо автору
 
   для: Sfinks   (31.10.2012 в 12:38)
 

Не для нескольких самых распространенных, а только те которые могут обеспечить требуемое, а это onfocus, onmouseover и onkeypress. Вполне достаточно, я так думаю:
<script>
$(function(){
   $('body').on('focus mouseover keypress',function(){
      $('textarea').val(new Date().getTime())
   });
});    
</script>
<textarea></textarea>

  Ответить  
 
 автор: Sfinks   (31.10.2012 в 15:52)   письмо автору
 
   для: confirm   (31.10.2012 в 12:47)
 

О, а вот что события можно перечислять через пробел - это я не знал.
Спасибо.

  Ответить  
 
 автор: ЯСА   (31.10.2012 в 17:19)   письмо автору
 
   для: confirm   (31.10.2012 в 12:47)
 

onresize и onunload - это, вообще-то, тоже действия пользователя

а onoffline и ononline - могут быть действиями и пользователя, и провайдера, и пьяного экскаваторщика, который интернет-кабель перерезал :)

  Ответить  
 
 автор: Sfinks   (31.10.2012 в 18:06)   письмо автору
 
   для: ЯСА   (31.10.2012 в 17:19)
 

> onoffline и ononline
первый раз вижу!
Не просветите поподробнее?
Просто все пользователи на 3G-модемах, как результат связь не стабильна. Это может быть очень актуально.
Когда они возникают? При разрыве диал-апа или просто при невозможности достучаться до сайта (по любым причинам)
К каким объектам применимы?
Во всех ли браузерах работают?
Может еще нюансы какие-то?

  Ответить  
 
 автор: ЯСА   (31.10.2012 в 18:16)   письмо автору
 
   для: Sfinks   (31.10.2012 в 18:06)
 

читаем стандарт - http://www.whatwg.org/specs/web-apps/current-work/#offline

поддержка в MSIE - ononline и onoffline

в Mozilla - https://developer.mozilla.org/en-US/docs/Online_and_offline_events

ну и на закуску из HTML5 - https://developer.mozilla.org/en-US/docs/DOM/window.navigator.onLine - не поддерживает только Opera

  Ответить  
 
 автор: Sfinks   (31.10.2012 в 20:41)   письмо автору
 
   для: ЯСА   (31.10.2012 в 18:16)
 

Спасибо. Поизучаю.

  Ответить  
 
 автор: confirm   (01.11.2012 в 01:09)   письмо автору
 
   для: ЯСА   (31.10.2012 в 17:19)
 

Точно.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования