Программирование > JavaScript & JScript

Ошибка:event is not defined //Error

<< < (4/5) > >>

SteelRat:
Чего-то не сходится с этим вписыванием...
Что надо, чтобы \'налету генерить\', чтобы document.write работал правильно?

SteelRat:
Вообщем, я сделал а-ля dhtmlcentral.
Теперь проблема в том, чтоб закапчерить координаты события в NN6-7.
Я обращаюсь вроде правильно.(Во-первых взято с рабочего dhtmlcentral, во-вторых проверено по 2м книгам. IE- работает OK, NN6-7 нет. Тестю я на Браузере Galeon, который работает на движке Mozilla 1.0.0, из которой компилировали NN7 :-))
Исходник, перекодированный в win-1251 висит на http://bonch.spb.ru/script.tar.gz
Если надо, запакую в др. формат.
Винрар его открывает 100%.
PS:
Часть записи в слой сохранилась - lib_writeIt(text).
Для записи в ХТМЛ файле был создан
и init функция в ХТМЛ документе имела вид:

function init(){
oDivTemp=new lib_obj(\'DivTemp\');
CreateMenuStructure(\'Menu\',2);
}
document.onload=init();


А в menu2.js
в функции addMenu_Item(...)
вместо document.write(str);
было oDivTemp.writeIt(str);

На этом отличия от текущего заканчиваются.

mike:
А откуда берется evt у тебя в коде?

SteelRat:
Вообще-то я сам сейчас с этим разбираюсь.
В книге написано для ns4 evt.pageX, на dhtmlcentral e.pageX.
Я думал, что в книге дана правильная комбинация пути к событию, там насчёт того, что это ссылка - молчёк, а на dhtmlcentral - для совместимости.
Теперь, я впилил, что это ссылка на обьект, на котором произошло событие.
Теперь проблема в том, чтобы придумать к чему обращаться. Чтобы добыть координату.
Но на это я пока осо внимание не трачу, т.к. мой браузер определяется, как  ns6. Но при применении кода, не дающего браузеру гулять на evt.*:

--- Код: ---
 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;

--- Конец кода ---

Браузер ругается, что:

Ошибка:event is not defined
In file:///home/steelrat/menu2.js, Line 137,

Тут уже полная непонятка. event.x - правильное обращение. Или нет?
Чего-то я совсем запутался. Попробую ещё раз перекопать книги и код.

Если вы знаете как обратиться правильно. Опишите - буду вам очень признателен.

Да, в NN:
pageX - это для ява ниже 1.2, а screenX - =1.2? Какой из них правильнее юзать?

mike:
В исходниках dhtmlcentral
e (или evt в нашем случае) передается как параметр обработчику события. Перед этим нужно указать, какие события будут обрабатываться скриптом. Пример из документации по JS для NN:

--- Код: ---
HTML>
function fun1(e) {
alert ("The window got an event of type: " + e.type +       " and will call routeEvent.");
window.routeEvent(e);   alert ("The window returned from routeEvent.");
return true;
}
function fun2(e) {
alert ("The document got an event of type: " + e.type);
return false;
}
function setWindowCapture() {   window.captureEvents(Event.CLICK);}
function releaseWindowCapture() {   window.releaseEvents(Event.CLICK);}
function setDocCapture() {   document.captureEvents(Event.CLICK);}
function releaseDocCapture() {   document.releaseEvents(Event.CLICK);}
window.onclick=fun1;document.onclick=fun2;
...

--- Конец кода ---

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

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 
Перейти к полной версии