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

HTML+CSS+JavaScript

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

 

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

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

тема: Объясните события элемента select
 
 автор: coloboc66   (23.11.2006 в 14:26)   письмо автору
 
 

Конкретно интересуют применительно к данному элементу:

1.onfocus
2.onblur
3.onchange
4.onclick

К примеру onclick - я понимаю, что оно означает щелчок левой кнопки мыши, но на чем конкретно- на всем элементе, или только на его кнопке.
Как визуально оценить, произошло ли каждое из этих событий?

   
 
 автор: Lelik   (23.11.2006 в 14:42)   письмо автору
 
   для: coloboc66   (23.11.2006 в 14:26)
 

onclick - на любом элементе
onchange - выбор другого элемента списка, но в ИЕ они коряво работают

   
 
 автор: coloboc66   (23.11.2006 в 15:17)   письмо автору
 
   для: Lelik   (23.11.2006 в 14:42)
 

Написал вот такую штуку:

<select id='select_id' onclick="alert('onclick')"  onblur="alert('onblur')" onfocus="alert('onfocus')">
    <option value='1' SELECTED>один
    <option value='2'>два
    </select>

Не могу логику проследить: при любом щелчке на элементе выскакивают все три окошка, причем не по одному разу.

   
 
 автор: coloboc66   (23.11.2006 в 17:48)   письмо автору
 
   для: coloboc66   (23.11.2006 в 15:17)
 

Люди, у меня в синтаксисе все правильно?

if(document.getElementById('select_product').onclick&&document.getElementById('select_product').onchange) get_cookie();

Код не работает и ошибок не выдается...

   
 
 автор: RMW   (23.11.2006 в 22:58)   письмо автору
 
   для: coloboc66   (23.11.2006 в 15:17)
 

Алерт только путает, так как модальный и сам очевидно вызывает событие (onblur),
так будет удобней:

<script>
  var res='события:<br>';
  setTimeout('document.write(res);',7000);
</script>

<select onclick="res+='click<br>'" onblur="res+='blur<br>'" onfocus="res+='focus<br>'" onchange="res+='change<br>'"> 
    <option value='1' SELECTED>один 
    <option value='2'>два 
</select>

   
 
 автор: coloboc66   (24.11.2006 в 09:19)   письмо автору
 
   для: RMW   (23.11.2006 в 22:58)
 

А почему все же вот это не работает?

if(document.getElementById('select_product').onclick&&document.getElementById('select_product').onchange) get_cookie(); 

   
 
 автор: RMW   (24.11.2006 в 13:19)   письмо автору
 
   для: coloboc66   (24.11.2006 в 09:19)
 

У меня работает:

<select id="select_product" onclick="" onchange=""> 
    <option value='1' SELECTED>один 
    <option value='2'>два 
</select>

<script>
if(document.getElementById('select_product').onclick&&document.getElementById('select_product').onchange) alert('работает');
</script>

Если не установлен хотя бы один из двух обработчиков то - тоже работает, но при этом ничего
не происходит.

   
 
 автор: coloboc66   (24.11.2006 в 14:10)   письмо автору
 
   для: RMW   (24.11.2006 в 13:19)
 

А у меня при таком коде алерт появляется только при обновлении страницы, а на щелчки и на изменение селекта не реагирует.

   
 
 автор: RMW   (24.11.2006 в 19:06)   письмо автору
 
   для: coloboc66   (24.11.2006 в 14:10)
 

Этот код только проверяет установлены ли
обработчики для событий onload и onchange,
(я думал вам именно это и требуется),
а на щелчки и проч. он конечно реагировать
не будет и не должен.

   
Rambler's Top100
вверх

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