Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Не работает в IE, что можно сделать? (https://javascript.ru/forum/events/14029-ne-rabotaet-v-ie-chto-mozhno-sdelat.html)

kir129 25.12.2010 10:41

Не работает в IE, что можно сделать?
 
работает везде, кроме IE...
что не так и можно ли вылечить?

var e = document.createEvent('HTMLEvents');
e.initEvent('click', true, true );
document.getElementById('id').dispatchEvent(e);

exec 25.12.2010 10:50

Для IE нужен метод fireEvent.

kir129 25.12.2010 11:45

спасибо

kir129 25.12.2010 12:40

Упссс...
Помогите - почему не работает?

function pop_up(URL)
{
if(ie){
document.getElementById(3).attachEvent('onclick');
var evt = document.createEventObject();
document.getElementById(3).fireEvent('onclick', evt);
}
else {
var e = document.createEvent('HTMLEvents');
e.initEvent('click', true, true );
document.getElementById(3).dispatchEvent(e);
}
}

kir129 25.12.2010 12:43

по отдельности каждый блок работает...
if/else - нет...
вариант
if (browser=="msie")
тоже не проходит

dmitriymar 25.12.2010 15:49

Цитата:

Сообщение от kir129
if(ie

круто ,откуда берутся значения для переменной ie true или false? в этом коде это именно какаято переменная какая принимает значения или 1 или 0 или undefened-если была просто инициализорована-но значение не присваивалось

x-yuri 25.12.2010 15:51

по большей части, люди пытаются использовать fireEvent, не подозревая, что он им не нужен ;) расскажи, что ты делаешь...

kir129 26.12.2010 01:33

я пытаюсь обмануть highslide js
сначала я пытался заплатить бабла за решение этой задачи, но оказалось зря, никто не смог выйти из плоскости.
Я напрягся и нашёл таки решение - эмулировать клик по ссылке с нужным id.
для всех браузеров нашёл сам, для IE подскзал exec
всё работает, но токо в своих браузерах
сейчас я пытаюсь написать скрипт, который бы запускал один кусок кода в IE, а другой для всех остальных браузеров.
Я догадываюсь, что if(ie) это не доконца определённая функция...
но именно это решение я нашёл на вашем форуме
собстно это и есть вопрос - как написать код, который выполнялся частью в ie, а частью в остальных браузерах.

Aetae 26.12.2010 01:36

Опуская подробности: добавь в начало:
ie='v'=='\v';
и if(ie) заработает.)

kir129 26.12.2010 01:39

возможно мне и не нужен fireEvent... но, блиннннн, он работает!!!


Часовой пояс GMT +3, время: 17:01.