| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Применение библиотек > Замена функции в аттрибуте onclick |
| Автор: Aliance 27.5.2009, 10:04 | ||||
меня есть несколько картинок, к которым применяется inline назначение события click:
При чем назначать события можно только через nline обработчики, т.е. заменить это нельзя. Я хочу по клику на картинке вызвать функцию toggleAJAXTree, которая бы после своей отработки, заменяла inline обработчки на вызвавшей ее картинки на другую функцию. Написал такой код:
Но при этом код не отрабатывает. Т.е. при повторном клике вызывается старая функция. Протестировано в FF. У кого-то есть идеи как сделать то, что я хочу. P.S. unbind не предлагать, т.к. обработчики должны назначаться именно inline |
| Автор: Soah 28.5.2009, 00:41 | ||
Aliance, видимо проблема в отработке метода attr() в FF
? В опере работают оба варианта. |
| Автор: ksnk 28.5.2009, 08:16 | ||
У вас неправильные пчелы, они дают неправильный мед
|
| Автор: Aliance 28.5.2009, 13:58 |
| ksnk, такой вариант работает, но такой пробовал и я. Мне интересно почему jQuery-вский вариант не отрабатывает. youri, поясни? В другой практически аналогичном случае точно такой же код работает на ура. Soah, дело в том, что алертится то, что нужно. Но вызывается не то + если посмотреть код выделенного фрагмента, то видно, что ничего не изменено. |
| Автор: youri 28.5.2009, 14:26 | ||
я просто посмотрел, что там происходит в jQuery. Там происходит примерно следующее (наверное, подразумевается, что обработчики должны с помощью других функций назначаться):
у меня это строка 998 (jquery-1.3.2): elem[ name ] = value; но ведь value в таком случае дожно быть функцией, а не строкой если же использовать setAttribute, то value должно быть строкой, но тогда в ie не будет работать - http://xpoint.ru/know-how/JavaScript/Atributyi?8 |
| Автор: Soah 28.5.2009, 14:48 | ||||
Aliance, а что у тебя алертится? первый клик
второй клик
FF 2 |
| Автор: Aliance 30.5.2009, 00:02 | ||
Думаю воспользоваться этим, из статьи:
|