dV Posted June 29, 2007 Report Share Posted June 29, 2007 Здраствуйте!!Собственно в заголовке и написан вопрос, который меня интересует. В опере обработчик события можно переопределить так:document.getElementById('elem').onclick="t=4+5; alert(t);";Но такая штука не работает в IE. Как же сделать такое же для IE? Link to comment Share on other sites More sharing options...
0 yopopt Posted June 29, 2007 Report Share Posted June 29, 2007 Можно так:document.getElementById('elem').onclick = function() { t=4+5; alert(t); } Link to comment Share on other sites More sharing options...
0 dV Posted June 29, 2007 Author Report Share Posted June 29, 2007 Только что нашел тут способ, там предлагают document.getElementById("mn_item_" + (i + 1)).onmouseover = function () { alert('IE must die'); }Только он тоже не работает. В моем случае Link to comment Share on other sites More sharing options...
0 dV Posted June 29, 2007 Author Report Share Posted June 29, 2007 Фишка в моем скрипте такая, что нужно постоянно менять обработчик:document.getElementById('foto'+i).onclick = "changefoto("+anket+","+count[i-2]+");";А как это сделать в ИЕ..Извините в начале тема немного не то написал... :/;) Link to comment Share on other sites More sharing options...
0 PacMan Posted June 29, 2007 Report Share Posted June 29, 2007 document.getElementById('foto'+i).onclick = function(event){changefoto(anket,count[i-2])} Link to comment Share on other sites More sharing options...
0 dV Posted June 29, 2007 Author Report Share Posted June 29, 2007 document.getElementById('foto'+i).onclick = function(event){changefoto(anket,count[i-2])}Так не пройдет.. Потому что это не дает возможности запускать эту функцию с определенными параметрами.Скажем я не смогу присоединить обработчик к одной картинке changefoto(1,2), а к другой changefoto(2,12)Нет ли других вариантов? Link to comment Share on other sites More sharing options...
0 AKS Posted June 29, 2007 Report Share Posted June 29, 2007 document.getElementById('foto' + i).onclick = new Function('changefoto(' + anket + ', ' + count[i - 2] + ');');И еще, если интересна такая тема, то вот "вариации на тему" (правда не адаптированные к данному случаю, т.к. взял с другого форума) от участника форума по имени Zeroglif://-> Решение 1o[i].click = function (i) { return function () { alert(i) };}(i);//-> Решение 2with ({i: i}) { o[i].click = function () { alert(i); }}//-> Решение 3o[i].v = i;o[i].click = function () { alert(this.v); }//-> Решение 4(o[i].click = function () { alert(arguments.callee.v);}).v = i; Link to comment Share on other sites More sharing options...
0 dV Posted June 30, 2007 Author Report Share Posted June 30, 2007 Спасибо огромное!Обидно, что сам не нашел такое простое решение, которое к тому же и сам использую в Action Script. Все забываю, что это родственные технологии. Link to comment Share on other sites More sharing options...
Question
dV
Здраствуйте!!
Собственно в заголовке и написан вопрос, который меня интересует. В опере обработчик события можно переопределить так:
Но такая штука не работает в IE. Как же сделать такое же для IE?
Link to comment
Share on other sites
7 answers to this question
Recommended Posts