Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не могу присвоить событие всем img на странице 
:(
    Опции темы
DimanLin
Дата 6.11.2008, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 10.2.2008

Репутация: нет
Всего: нет



function create_evens()
{
 var ch = 0;
  for(ch;ch<document.images.length;ch++)
      {
          document.images[ch].onmouseover = mm(this);
      }
}

function mm(elem)
{
           alert(elem.alt);
}

Вот что в коде:
<body bgcolor="white" onLoad = "create_evens()">
.....

Должно присвоиться событие onmouseover = mm(this) всем элементам img на странице.
Это не происходит, вместо этого после полной загрузки страници, на экран всплывают алерты с  надписью "undefined". Несмотря на то, что мышка за пределами браузера.

PM MAIL   Вверх
bars80080
Дата 6.11.2008, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



тебе надо функцию не выполнить, а присвоить её:

Код

document.images[ch].onmouseover = function(){mm(this);};


PM MAIL WWW   Вверх
DimanLin
Дата 6.11.2008, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 10.2.2008

Репутация: нет
Всего: нет



function create_evens()
{
 var ch = 0;
 
  for(ch;ch<document.images.length;ch++)
      {
          document.images[ch].onmouseover = function(){over(this,event);}; //!!!!!!!
          document.images[ch].onmouseout = function(){out(this);};
      }
}

Также хочется получать объект event в функцию over.
FF ругается, что обект не определён.
PM MAIL   Вверх
Samotnik
Дата 6.11.2008, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: нет
Всего: 191



DimanLin, ты какой event   хочеш ?
может этот ?
Код

window.event


PM MAIL   Вверх
DimanLin
Дата 8.11.2008, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 10.2.2008

Репутация: нет
Всего: нет



Мне нужен тот объект у которого есть свойство pageY.
alert(e) в функции over(obj,e) говорит, что объект не определён. =(

Код

function create_evens()
{
 var ch = 0;
 
  for(ch;ch<document.images.length;ch++)
      {
          document.images[ch].onmouseover = function(){over(this,window.event);};
          document.images[ch].onmouseout = function(){out(this);};
      }
}

var status_izo = 0;

function over(obj,e)
{

           if(obj.alt.length > 0)
           {
               if(navigator.appName != "Microsoft Internet Explorer")
                {
                    alert(e);
                    document.getElementById('regdiv').style.top = e.pageY + 20 + "px";
                    document.getElementById('regdiv').style.left = e.pageX + 20 + "px";
                }
                else
                {
                    var oCanvas =  document.getElementsByTagName((document.compatMode && document.compatMode == "CSS1Compat") ? "HTML" : "BODY")[0];
                    document.getElementById('regdiv').style.top = (oCanvas.scrollTop + e.clientY + 20) + "px";
                    document.getElementById('regdiv').style.left = (oCanvas.scrollLeft + e.clientX + 20) + "px";
                }
               document.getElementById("regdiv").innerHTML = obj.alt;
           }


}

PM MAIL   Вверх
IDVsbruck
Дата 8.11.2008, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 7
Всего: 22



Немного не так ...
События назначаются следующим образом:
Код
{...}.onmouseover = function(event) {over(event)};
...
function over(_event) {
    var event = _event || window.event;    // нужно для кроссбраузерности
    ...
    // дальше имеем дело с event, у которой есть параметры, в том числе и pageY
}

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0466 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.