| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Применение библиотек > установка обработчиков событий в HTML и Jquery |
| Автор: XaverOz 17.8.2011, 13:19 | ||||
Есть кнопка у которой установлен обработчик события (в HTML onclick=) по нажатии на кнопку в событии хотелось бы что бы в следующий раз эта функция вызывалась с другим аргументом.
P.S. понимаю что с помощью ready можно подписаться на событие нажатие кнопки, и в событии удалять обработчик события и подписываться на новое, с увеличенным аргументом, но такая реализация мне совсем не нравится |
| Автор: CruorVult 17.8.2011, 13:51 | ||
|
| Автор: Gold Dragon 17.8.2011, 14:19 | ||
| а какие параметры должны меняться и на что? просто прибавлять 1? если так, то вот написал примерчик
|
| Автор: XaverOz 18.8.2011, 07:15 | ||||
| Изучаю JS сравнительно недавно и во всей литературе которая встречалась есть 2 кардинально разных подхода к вопросу области видимости: 1) Любое использование глобальных переменных зло, пишите код вот так:
2) Использование глобальных переменных в коде позволительно, явное объявление переменных не обязательно
Проблема в том что в реальном примере кода, на одной странице таких переменных у меня очень много (по одной кнопке, и переменной, на каждую запись в таблице) |
| Автор: Gold Dragon 18.8.2011, 14:08 |
| что-то какая-то грандиозная задача XaverOz, а тебе не кажется что такой подход к безопасности слишком крутой? Javascript это вообще-то клиентская часть и вообще, задача получается не совсем определена... Конкретно скажи что нужно, конкретно напишу код ;) |
| Автор: Amphiluke 18.8.2011, 21:24 | ||
Обычно их защищают от конфликтов при попадании в одно пространство имен. Для примера, который приводит ТС, уже давно придумали применять замыкания.
|
| Автор: Gold Dragon 19.8.2011, 07:20 | ||
так такие конфликты могут возникнуть и с одинаковыми именами функций |
| Автор: Amphiluke 19.8.2011, 18:54 | ||||
Поэтому обычно используют конструкции с анонимными функциями, вызываемыми на месте.
|