JQuery - не назначать обработчик повторно

12
S0meT1me
На сайте с 07.06.2008
Offline
109
#11
DJ_AlieN:
Обратите внимание, у первого элемента в коде нету onClick т.к. он пропишется автоматом

Поддерживаю. Зачем вы ставите обработчик события onclick в HTMLе, если JavaScript установит нужные обработчики всем ссылкам класса ajaxtest автоматически при загрузке страницы?

Просто уберите обработчик события onclick в HTML коде.

JTRTA
На сайте с 06.07.2008
Offline
25
#12
Dreammaker:

где-то из-за такого и навешивались по нескольку раз события. Или я же что-то не понимаю.

На самом деле не из-за этого, а из-за того что ваша функция каждый раз добавляла обработчик событий всем ссылкам поределеннного класса, добавление обработчиков на document.redy можно использовать так как он вывозиться 1 раз и нужно если первый набор ссылок генерится не js а php, если же все делается ajaxom то нафиг ее :) оставить только добавление обработчика при добавлении нового узла

Вот этот вариант довольно интересен я о нём не подумал, точнее думал, но сходу не мог придумать как получать id новодобавленного элемента.

в таком случае id не нужен т.е. можно так:

$(someNewNode).appendTo(dest).handleDeleteImage2();

Дизайн /ru/forum/493415 (/ru/forum/493415) Верстка от 15$ /ru/forum/509339 (/ru/forum/509339) Сайты под ключ aiogino.studio@gmail.com icq: 460146806
Dreammaker
На сайте с 20.04.2006
Offline
569
#13
S0meT1me:
Зачем вы ставите обработчик события onclick в HTMLе

Я уже выше написал, что ступил в первом посте и на самом у ссылок при генерации не было onClickов (просто вычленял код из проекта, чтобы показать минимальный код который характеризует проблему, а именно повторно навешивание обработчика, даже если он уже есть). Кстати, если учесть, а это хороший тон, что у пользователя Javascript может быть отключён, то вывод обработчика в хтмле не лишнее.

JTRTA:
someNewNode

Не совсем понятно откуда брать someNewNode - или это внутренняя констанста? То есть, допустим имеем вот такую ситуацию:

Допустим мне нужно

к

<ul>

<li><a href="/">1</a> какой-то тест1</li>

<li><a href="/">2</a> какой-то тест2</li>

</ul>

нужно присоеденить вот такое:

<li><a href="/">3</a> какой-то тест3</li>

Что нужно сделать?

DA
На сайте с 04.02.2005
Offline
165
#14
<ul id='ul_id'>
<li><a href="/">1</a> какой-то тест1</li>
<li><a href="/">2</a> какой-то тест2</li>
</ul>


<script type='text/javascript'>
$('#ul_id').append('<li><a href="/">3</a> какой-то тес3</li>');
// А ПОТОМ
$("#ul_id a[onclick!='aClick']").attr('onclick','aClick');
</script>
тыщ-пыщ
Dreammaker
На сайте с 20.04.2006
Offline
569
#15

DJ_AlieN, ваш вариант я уже понял, мне на данный момент не совсем понятен вариант предложенный JTRTA с someNewNode.

Блин, самое интересное что-никак не выделю. время чтобы всё написанное протестировать, так что с моей стороны - это чистое теоретизивароние - наверное, завтра проверю, всё что здесь написали.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий