Главная страница
    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.49 MB
Время: 0.006 c
2-1263470601
Darvin
2010-01-14 15:03
2010.03.14
Доступ к элементам двумерного PSafeArray


15-1261776622
Юрий
2009-12-26 00:30
2010.03.14
С днем рождения ! 26 декабря 2009 суббота


15-1257017604
Kerk
2009-10-31 22:33
2010.03.14
Книга мастеров


15-1261697289
DillerXX
2009-12-25 02:28
2010.03.14
А не вспомнит ли кто...


2-1263455773
petr
2010-01-14 10:56
2010.03.14
Помогите с ошибкой разобраться





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский