Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.03.14;
Скачать: CL | DM;

Вниз

JScript кроссбраузерность   Найти похожие ветки 

 
stas ©   (2009-12-14 14:43) [0]

Кто знает помогите пожалуйста с Jscript, работает только в IE, а нужно еще  в опере и FF.
есть функция     window.onload = function onwl (value)  {...}
На onLoad она работает, а по вызову кнопкой нет, вызываю так:
Event.add(Button1, "click", function(e) { onwl ("параметр") })
Event - нашел библиотеку тут http://javascript.ru/tutorial/events/crossbrowser
Если в обработчик кнопки впишу alert, то работает.


 
stas ©   (2009-12-14 14:45) [1]

А в FF и alert неработает...


 
Wagner   (2009-12-14 14:50) [2]

Для того, чтобы ответить на этот вопрос, нужно знать, где вызывается строчка с Event.add.
Вообще, зачем усложнять? Просто пропиши onwl("параметр") в onclick кнопки, если конечно он не динамически создается.


 
stas ©   (2009-12-14 14:53) [3]

Не не динамечески, да я уже и так писал  - неработает.
т.е. если не динамически, то толку от Event.add  нет?


 
stas ©   (2009-12-14 14:54) [4]

А вызываю сразу по порядку
window.onload = function onwl (value)  {...}
потом этот оъект Event
и тут же
Event.add(Button1, "click", function(e) { onwl ("параметр") })


 
xayam ©   (2009-12-14 14:55) [5]

а jquery чем не устраивает. Подключаешь библиотеку, и пишешь что-то типа:

$("#id_button").click(function(e) {
  //обработка события
});


 
Wagner   (2009-12-14 14:56) [6]

stas ©   (14.12.09 14:54) [4]

Значит, ты где-то ошибся. Открой Firefox Error Console и посмотри, что она говорит при загрузке страницы и клике по кнопке.


 
stas ©   (2009-12-14 15:14) [7]

xayam ©   (14.12.09 14:55) [5]
Да меня все устраивает, просто я неособо силен в JScript.
JQuery где взять?

Wagner   (14.12.09 14:56) [6]
ага, сейчас гляну.


 
xayam ©   (2009-12-14 15:19) [8]


> stas ©   (14.12.09 15:14) [7]
> xayam ©   (14.12.09 14:55) [5]
> Да меня все устраивает, просто я не особо силен в JScript.
> JQuery где взять?

наверное и в поиске не силен :) jquery.com (библиотека) или jqueryui.com (библиотека + визуальные компоненты)


 
stas ©   (2009-12-14 16:45) [9]

Wagner   (14.12.09 14:56) [6]
пишет такую ошибку (Ошибка: onwl is not defined), если делаю так:

function Button1_onclick() {
onwl ("проверка")
}


 
Некто умный   (2009-12-14 20:13) [10]

Нафига писать, если не разбираешься, как и что? Учебник тебе поможет.


 
stas ©   (2009-12-15 20:46) [11]

Некто умный   (14.12.09 20:13) [10]
ох ты епт. Если ответить нечего, то не флуди.
А чего ник сменил?

с этим разобрался...
stas ©   (14.12.09 16:45) [9]

Теперь следующий вопрос:

вобщем есть функция
function onwl (value)  {}
window.onload = function() { onwl (null) }
function Button1_onclick() {
onwl (Text1.value)
}


и есть див.

<div> <input id="Text1" type="text" style="width: 377px"/>
<input id="Button1" type="button" value="Кнопка" language="javascript" onclick="return Button1_onclick()" />
</div>


при нажатии на кнопку в FF - ошибка (опера, IE работает)
Ошибка: Text1 is not defined


 
М. Береговой   (2009-12-15 23:08) [12]

Правильно назначать обработчики событий в js надо так:
function init(){};
function _over(){};
function _out(){};

var doc = document; //вместо document может быть любой элемент и div и button
   if (doc.addEventListener) { //для Всех остальных
       doc.addEventListener("mouseover", _over, false);
       doc.addEventListener("mouseout", _out, false);
       window.addEventListener("load", init, false);
   } else if (doc.attachEvent) { //для IE
       doc.attachEvent("onmouseover", _over);
       doc.attachEvent("onmouseout", _out);
       window.attachEvent("onload", init);
   } else {//для Всех остальных
       doc.onmouseover = _over;
       doc.onmouseout = _out;
       window.onload = init;
   }

Если ругается на функцию onwl, то значит ошибка в коде внутри функции.


 
М. Береговой   (2009-12-15 23:20) [13]

onwl (Text1.value)
Лучше делать так :
onwl (if(document.getElementById("Text1")) document.getElementById("Text1").value)


 
clickmaker ©   (2009-12-16 11:32) [14]

еще лучше так
var e = document.getElementById("Text1");
if (e) onwl(e.value);

либо document.forms[0].Text1, если там форма есть, конечно


 
stas ©   (2009-12-23 14:18) [15]

Спасибо! сейчас буду пробовать.


 
Palladin ©   (2009-12-23 20:39) [16]

2014 год:
Спасибо! Получилось!


 
Wagner   (2009-12-24 08:40) [17]

stas ©   (15.12.09 20:46) [11]

>А чего ник сменил?

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


 
stas ©   (2009-12-24 12:25) [18]

Palladin ©   (23.12.09 20:39) [16]
))
в 2012 должен помешать конец света.

Wagner   (24.12.09 08:40) [17]
Нет вас я не имел ввиду. Просто чел явно сменил себе ник.
Спасибо за помощь.
С праздниками !


 
stas ©   (2009-12-25 19:30) [19]

Хоть 2014 еще не наступил...
Спасибо! Получилось!
)))
Всех С Новым годом!!!



Страницы: 1 вся ветка

Текущий архив: 2010.03.14;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.016 c
15-1262038333
Германн
2009-12-29 01:12
2010.03.14
LCACC.EXE.


1-1239858352
EgorovAlex
2009-04-16 09:05
2010.03.14
Как в зависимости от директив условной компиляции менять главную


15-1261867671
KennyG
2009-12-27 01:47
2010.03.14
Ярлык с указанием CLSID вместо пути


2-1262877289
Eh
2010-01-07 18:14
2010.03.14
Удаление ветки в DBGridEh (в режиме TreeList)


15-1261691227
Юрий Зотов
2009-12-25 00:47
2010.03.14
Ура!!! Я написал троян, не нажав ни одной клавиши!!!