Автор Тема: Ошибка:event is not defined //Error  (Прочитано 11862 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн SteelRat

  • Funk U!
  • Старожил
  • ****
  • Сообщений: 290
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thewebfactory.fatal.ru
Ошибка:event is not defined //Error
« : 30 Октября 2002, 17:19:05 »
Ещё одна проблема с этим меню дуррацким...

Вообщнм, я делаю в ХТМЛ документе ссылки вида:

« Number 1


После чего появляется проблема:
Надо понять, где юзер навёл мыщь на ссылку, чтоб в той точке сделать подменюшку.
Сама подменюшка пашет. (к примеру, если жёстко задать координаты. [100*100, etc]).

Координаты я вычислял так:
    e=\'event\';
   mouseX = mouse_x_position = (bw.ie) ? (e.clientX + document.body.scrollLeft) : e.pageX;
   mouseY = mouse_y_position = (bw.ie) ? (e.clientY + document.body.scrollTop)  : e.pageY;

И так:

    mouseX=(bw.ns4 || bw.ns6)?e.pageX:event.x||event.clientX
    mouseY=(bw.ns4 || bw.ns6)?e.pageY:event.y||event.clientY

Итог один:
<<
Ошибка:event is not defined
In file:///home/steelrat/menu2.js, Line 140,
>>

Что делать?
Большое спасибо за ответ.
Debian/GNU Linux is rulezz...

Оффлайн SteelRat

  • Funk U!
  • Старожил
  • ****
  • Сообщений: 290
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thewebfactory.fatal.ru
Ошибка:event is not defined //Error
« Ответ #1 : 30 Октября 2002, 17:56:36 »
PS: Если попросить распечатать полученные mouseX,Y, то там undefinded
Debian/GNU Linux is rulezz...

Оффлайн SteelRat

  • Funk U!
  • Старожил
  • ****
  • Сообщений: 290
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thewebfactory.fatal.ru
Ошибка:event is not defined //Error
« Ответ #2 : 30 Октября 2002, 19:05:41 »
Проблема с event в Mozilla/Netscape, в IE всё впорядке.
Но там проблема как и в первом вопросе: Печатает текст с нуля. Т.е. вместо хтмл кода  документа document.write(varstring) выводит новое содержание, как бы в \'пустую страницу\'.
В прошлый раз я решил эту проблему методом тыка :-). Но надо знать точно, каким именно требованиям должен удовлетворять код в точке document.write().

Если поможет, URL: http://bonch.spb.ru/script.tar.gz

Жду ответа, сенькс.
Debian/GNU Linux is rulezz...

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Ошибка:event is not defined //Error
« Ответ #3 : 30 Октября 2002, 19:40:09 »
Цитировать
Но там проблема как и в первом вопросе: Печатает текст с нуля.

В MSIE есть свойство innerHTML для любого объекта-тега. Прекрасно работает вместо document.write.

Например:

document.all["sometag"].innerHTML = "

text

";
[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн SteelRat

  • Funk U!
  • Старожил
  • ****
  • Сообщений: 290
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thewebfactory.fatal.ru
Ошибка:event is not defined //Error
« Ответ #4 : 30 Октября 2002, 20:01:05 »
Поддержка Mozilla/Netsсape должна быть обязательна.
Это не подходит.
А как именно вслой писать?
Если можно в слой писать, то может создать заранее 1н и вписывать в него?

Вообще, я по примеру dhtmlcentral.com делаю.
Там document.write() в библиотеке создания окон есть и работает.
У меня вроде как также, но всё таки не работает....

Такие дела...
Debian/GNU Linux is rulezz...

Оффлайн SteelRat

  • Funk U!
  • Старожил
  • ****
  • Сообщений: 290
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thewebfactory.fatal.ru
Ошибка:event is not defined //Error
« Ответ #5 : 30 Октября 2002, 20:04:26 »
Скрипт можно качнуть и заценить тут:
http://dhtmlcentral.com/script/script.asp?id=16
Debian/GNU Linux is rulezz...

Оффлайн SteelRat

  • Funk U!
  • Старожил
  • ****
  • Сообщений: 290
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thewebfactory.fatal.ru
Ошибка:event is not defined //Error
« Ответ #6 : 30 Октября 2002, 20:07:35 »
\'Всё в одном\' хтмл файле, без библиотек:
http://dhtmlcentral.com/script/script16_demo.html
Debian/GNU Linux is rulezz...

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Ошибка:event is not defined //Error
« Ответ #7 : 30 Октября 2002, 20:32:32 »
Цитировать
Если можно в слой писать, то может создать заранее 1н и вписывать в него?

Я так и делал для NN.





[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн SteelRat

  • Funk U!
  • Старожил
  • ****
  • Сообщений: 290
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thewebfactory.fatal.ru
Ошибка:event is not defined //Error
« Ответ #8 : 30 Октября 2002, 20:56:16 »
Спасибо! Буду пробовать.
Но всё-тки, как у dhtmlcentral удалось?
Во всех браузерах работает и не жалуется.
В чём хитрость?
Debian/GNU Linux is rulezz...

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Ошибка:event is not defined //Error
« Ответ #9 : 30 Октября 2002, 21:53:50 »
Цитировать
Но всё-тки, как у dhtmlcentral удалось?

Возможно, ты не заметил :)
Они контент создают динамически. Т.е. пишут в документ во время его создания, а это совсем другое дело.

А насчет совместимости браузеров - там грамотный код под каждый тип браузеров. Нужно только (:D)разобраться...
[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн SteelRat

  • Funk U!
  • Старожил
  • ****
  • Сообщений: 290
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thewebfactory.fatal.ru
Ошибка:event is not defined //Error
« Ответ #10 : 30 Октября 2002, 22:36:22 »
Так я пытаюсь как раз так и сделать.
У меня большинство функций от их библиотеки.
Меню динамически создаются.
Точнее, пока слои с ними.
Но, если я помещаю часть вызова генерации окошек

onload=CreateMenuStructure(\'Menu\',2);

между и , печать призводится в пустой документ.
а если перед то Mozilla/Netscape работаетбез вопросов, а IE ругается, хотя и работает после этого.

PS: Мне так и не удалось словить позицию мыши в Mozilla 1.0 (=Netscape 7.0).
Выдаёт undefined в качестве значения курсора и всё также жалуется на

<<
Ошибка:event is not defined
In file:///home/steelrat/menu2.js, Line 147,
>>
Пока стоит код для вычисления:

      if(bw.ns){
      mouseX=evt.pageX;
      mouseY=evt.pageY;
      }
      else if(bw.ns6){
      mouseX=event.x;
      mouseY=event.y;
      }
      else {
      mouseX=event.clientX;
      mouseY=event.clientY;
      }
      CurX=mouseX;
      CurY=mouseY;

Эффекта нет.
Под IE находит свои значения...

До текущего состояния архив скрипта обновлён, если что.
PS: Там koi8-r/Unix LF переход строки.
Всё-таки, я под линуксом..
Если надо - могу в винду конвертнуть.
« Последнее редактирование: 30 Октября 2002, 23:04:28 от SteelRat »
Debian/GNU Linux is rulezz...

Оффлайн SteelRat

  • Funk U!
  • Старожил
  • ****
  • Сообщений: 290
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thewebfactory.fatal.ru
Ошибка:event is not defined //Error
« Ответ #11 : 31 Октября 2002, 16:44:30 »

lib_writeIt = function(text){
if(bw.ns4){
TempData=this.ref;
this.ref.open();
this.ref.write(TempData+text);
        this.ref.close()
}else TempData=this.evnt.innerHTML; this.evnt.innerHTML=TempData+text;
}

В итоге - пишется только последний слой.(у меня цикл функции, так что пишется несколько раз...). Я неверно читаю текущее содержание?
Debian/GNU Linux is rulezz...

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Ошибка:event is not defined //Error
« Ответ #12 : 31 Октября 2002, 18:04:41 »
Можно вот так:

lib_writeIt = function(text){
if(bw.ns4){
TempData=this.ref; //работает?! Если да, то буду знать :)
this.ref.document.open();
this.ref.document.write(TempData+text);
                this.ref.document.close()
}else this.evnt.innerHTML += text;
}

Еще: для NN текст можно держать в статической переменной (не хочу обманывать насчет получения содержимого слоя в NN4 :))
[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн SteelRat

  • Funk U!
  • Старожил
  • ****
  • Сообщений: 290
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thewebfactory.fatal.ru
Ошибка:event is not defined //Error
« Ответ #13 : 31 Октября 2002, 18:38:08 »
У меня DOM браузер, так что о то работает это в NN4 я без понятия.
+= не помог ни в IE, ни в NN6-7
По любому, показывает только последний слой.
Debian/GNU Linux is rulezz...

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Ошибка:event is not defined //Error
« Ответ #14 : 31 Октября 2002, 19:09:42 »
Цитировать
По любому, показывает только последний слой.

Тогда исходник нужно чуть подробней :) Но по смыслу, а не все подряд, плиз.
[ основной браузер когда-то был, теперь попробуй разберись =]

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28