Помогите решить пожалуйста проблему:
В документе имеется ссылка на javascript файл "doelement.js" с jquery
$(".element").click(function({
some code...
});
Так же на странице присутствует кнопочка по которой подгружается часть странички ajax'ом - в этой части так же используется файл "doelement.js" что бы выше указанный код работал с подгруженным контентом.
В итоге при нажатии на кнопку происходит 2 ajax запроса:
1. Сама часть странички
2. doelement.js_=12345678
Проблема в том что после того как doelement.js подгружен в документ второй раз
нажатие на $(".element") обрабатывается дважды и some code исполняется соотвественно дважды.
Добавление add/removeClass("active") на время выполнения функции ни к чему не привели, подскажите пожалуйста что делать?
Спустя 5 минут, 52 секунды (24.01.2012 - 15:18) redreem написал(а):
не подгружать 2-й раз. или 1-й. если элементы динамические - то функцию обработки лучше вынести в мейн, а сам факт подключения таскать динамически за элементом. тогда каждый раз будет новое переопределение.
Спустя 3 минуты, 43 секунды (24.01.2012 - 15:22) mrmaloy написал(а):
redreem
В том и проблема что нужно держать этот скрипт и в главном документе и что бы с подгруженным контентом работало.
В том и проблема что нужно держать этот скрипт и в главном документе и что бы с подгруженным контентом работало.
Спустя 6 минут, 5 секунд (24.01.2012 - 15:28) inpost написал(а):
mrmaloy
javascript.ru Там есть учебник, где-то на 4-6 уроке как раз разбирался этот вопрос, как заставить реагировать лишь один раз.
javascript.ru Там есть учебник, где-то на 4-6 уроке как раз разбирался этот вопрос, как заставить реагировать лишь один раз.
Спустя 3 минуты, 10 секунд (24.01.2012 - 15:31) redreem написал(а):
так я и говорю - в doelement.js размести функцию-обработчик и подключай 1 раз в мейне:
function onclickHandler(el) {
some code...
});
,а рядом с каждым элементом, на который нужен этот онклик пиши:
<script>$(".element").click(function({onclickHandler(this);});</script>
function onclickHandler(el) {
some code...
});
,а рядом с каждым элементом, на который нужен этот онклик пиши:
<script>$(".element").click(function({onclickHandler(this);});</script>
Спустя 20 минут, 7 секунд (24.01.2012 - 15:51) mrmaloy написал(а):
redreem
Огромное спасибо за подсказку!
Решил проблему обозначив функцию window.doelement = function(arg){}
Теперь ее можно вызывать из подгруженого контента вот так: window.doelement(arg);
Спасибо большое.
Огромное спасибо за подсказку!
Решил проблему обозначив функцию window.doelement = function(arg){}
Теперь ее можно вызывать из подгруженого контента вот так: window.doelement(arg);
Спасибо большое.
Спустя 5 минут, 21 секунда (24.01.2012 - 15:56) redreem написал(а):
ну такую "мелочь" вносить в windows может конечно и не целесообразно. тебе виднее - я ж проекта не видел. пожалуйста.
_____________
<td></td>...<td></td>...<td></td>... тихо стучали колеса поезда в ночной тишине.