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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как переназначить onClick в IE, проблема с переназначением onclick 
:(
    Опции темы
shurup_312
Дата 5.3.2008, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Постоянно хожу за ответами на винград и тут снова вопрос возник.
Хочу переназначить кнопке onClick.
вот так работает везде кроме IE
Код

var baton=window.opener.document.getElementById('att_button');
baton.setAttribute('onclick','deattach()');


а вот так почему то вообще не работает нигде, хотя странно...

Код

var baton=window.opener.document.getElementById('att_button');
baton.onclick='deattach()';


Я все думаю что это из за того, что не в этом же окне сама кнопка, хотя по моему никак это влиять не должно.
Ну да и ладно бы первым способом устанавливал, так не работает и он в IE.
Кто сталкивался, почему может не работать? Остальные браузеры - это Опера, FF и Сафари. 

PM MAIL   Вверх
SelenIT
Дата 5.3.2008, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

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



Цитата(shurup_312 @  5.3.2008,  14:31 Найти цитируемый пост)
вот так работает везде кроме IE

Потому что IE по-своему соотносит атрибуты и свойства.

Цитата(shurup_312 @  5.3.2008,  14:31 Найти цитируемый пост)
а вот так почему то вообще не работает нигде

Потому что свойство onclick должно быть функцией, а не строкой.


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
shurup_312
Дата 5.3.2008, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(SelenIT @ 5.3.2008,  14:42)
Потому что свойство onclick должно быть функцией, а не строкой.

а если в IE делать 
baton.onclick, то как ему присвоить функцию в данном случае?

Добавлено через 10 минут и 55 секунд
спаибо безусловно за ссылку, потому что теперь буду больше понимать некоторые вещи, но в данном случае IE так и не поменял ему обработчик onclick, хотя я ему согласно инструкции попытался сделать так
Код

var baton=window.opener.document.getElementById('att_button');
baton.setAttribute('onclick',function() {deattach());

PM MAIL   Вверх
SelenIT
Дата 5.3.2008, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

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



Цитата(shurup_312 @  5.3.2008,  15:13 Найти цитируемый пост)
ему согласно инструкции попытался сделать так

Как раз про это инструкция говорит, что так делать не надо smile

Все гораздо проще:
Код

baton.onclick=deattach; // просто имя ф-ции, без скобок! Вот если б надо было передать параметр - тогда сложнее...



--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
shurup_312
Дата 5.3.2008, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



В общем как выяснилось часть проблемы была в том, что изменнение функции происходит из другого окна, я в документ окна, из которого происходит изменение обработчика, так же внес пусть до внешнего файла со скриптами (надеюсь не сильно сумбурно smile) Кароч теперь вот на такой код

Код

var baton=window.opener.document.getElementById('att_button');
alert(baton.onclick);
baton.onclick=deattach;
alert(baton.onclick);


По первому алерту выводит 
function anonymous ()
{
upload_pict()
}

Что в приницпе понятно после того, что я прочитал, на втором алерте выдает что функция новая, та которая нужна, но...
Но вот он ее так и не выполняет после повторного нажатия...

Это сообщение отредактировал(а) shurup_312 - 5.3.2008, 15:59
PM MAIL   Вверх
SelenIT
Дата 5.3.2008, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

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



Ага, я недосмотрел, что тут два окна и ф-ция deattach() определена в открывающем, так? Тогда
Код

baton.onclick=window.opener.deattach;



--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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