powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / jquery selector
7 сообщений из 7, страница 1 из 1
jquery selector
    #39015826
Фотография в штанишках
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: javascript
1.
2.
3.
$('body').on('click', '.left', function(){
                            rating(post.id, 'down');
                        }); 



на странице есть 2 элемента с классом left
при клике на одном элементе, rating вызывается 2 раза

если сделать так
Код: javascript
1.
2.
3.
$('.left').on('click', function(){
                            rating(post.id, 'down');
                        }); 


то при клике на втором элементе ничего не происходит

как исправить?
...
Рейтинг: 0 / 0
jquery selector
    #39015875
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в штанишках, а какого результата вы хотите добиться?
В обоих случаях обработчик отрабатывает правильно.
Во втором случае по какому элементу click, для того элемента и выполняется обработчик.
...
Рейтинг: 0 / 0
jquery selector
    #39015877
Фотография в штанишках
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я хочу чтобы при клике на элементе вызывалась ф-я rating 1 раз

в идеале чтобы код
Код: javascript
1.
2.
3.
$('body').on('click', '.left', function(){
                            rating(post.id, 'down');
                        }); 


отрабатывал 1 раз при клике на 1 элементе, потому что на странице могут динамически добавляться новые элементы с классом left

вот кусок кода


Код: html
1.
<div id="chatWindow" class="chtpl0-chat yiichat mt5 posts"><div id="post_182" class="post chtpl0-msg"><div><img class="left"><span class="rating">12</span><img class="right"></div><button data-index="182" class="toggleexecutor executor-unset"></button><div class="chtpl0-content"><div class="owner chtpl0-nickname" data-ownerid="4"><a data-toggle="tooltip" title="Author Author" class="ownerref" href="/user/user/view?id=4">Author Author</a>  |</div><div class="chtpl0-date">2015-02-19 01:41:06</div><div class="cost">Цена:5000</div><div class="text">Здрасте выполню</div></div><div class="chtpl0-buttons"><button data-sender="Author" data-index="182" class="chtpl0-answer">Ответить</button><button data-index="182" class="chtpl0-share">Переслать</button><button data-index="182" class="chtpl0-delete">Удалить</button></div></div><div id="post_183" class="post chtpl0-msg"><button data-index="183" class="chtpl0-user-icon-3 usual-cursor"></button><div class="chtpl0-content"><div class="owner chtpl0-nickname" data-ownerid="1"><a data-toggle="tooltip" title="Administrator Admin" class="ownerref" href="/user/user/view?id=1">Administrator Admin</a>  |</div><div class="chtpl0-date">2015-02-19 01:42:23</div><div class="text">Привет, ок нахначаю Автором</div></div><div class="chtpl0-buttons"><button data-sender="Admin" data-index="183" class="chtpl0-answer">Ответить</button><button data-index="183" class="chtpl0-share">Переслать</button><button data-index="183" class="chtpl0-delete">Удалить</button></div></div><div id="post_207" class="post chtpl0-msg"><div><img class="left"><span class="rating">12</span><img class="right"></div><button data-index="207" class="toggleexecutor executor-unset"></button><div class="chtpl0-content"><div class="owner chtpl0-nickname" data-ownerid="4"><a data-toggle="tooltip" title="Author Author" class="ownerref" href="/user/user/view?id=4">Author Author</a>  |</div><div class="chtpl0-date">2015-03-19 18:44:01</div><div class="text">111</div></div><div class="chtpl0-buttons"><button data-sender="Author" data-index="207" class="chtpl0-answer">Ответить</button><button data-index="207" class="chtpl0-share">Переслать</button><button data-index="207" class="chtpl0-delete">Удалить</button></div></div><div id="post_334" class="post chtpl0-msg"><button data-index="334" class="chtpl0-user-icon-3 usual-cursor"></button><div class="chtpl0-content"><div class="owner chtpl0-nickname" data-ownerid="1"><a data-toggle="tooltip" title="Administrator Admin" class="ownerref" href="/user/user/view?id=1">Administrator Admin</a> ответил <a data-toggle="tooltip" title="Author Author" class="ownerref" href="/user/user/view?id=" 4'="">Author Author</a>  |</div><div class="chtpl0-date">2015-07-24 18:25:06</div><div class="text">jjj</div></div><div class="chtpl0-buttons"><button data-sender="Admin" data-index="334" class="chtpl0-answer">Ответить</button><button data-index="334" class="chtpl0-share">Переслать</button><button data-index="334" class="chtpl0-delete">Удалить</button></div></div><div id="post_335" class="post chtpl0-msg"><div><img class="left"><span class="rating">12</span><img class="right"></div><button data-index="335" class="toggleexecutor executor-unset"></button><div class="chtpl0-content"><div class="owner chtpl0-nickname" data-ownerid="4"><a data-toggle="tooltip" title="Author Author" class="ownerref" href="/user/user/view?id=4">Author Author</a> ответил <a data-toggle="tooltip" title="Administrator Admin" class="ownerref" href="/user/user/view?id=" 1'="">Administrator Admin</a>  |</div><div class="chtpl0-date">2015-07-25 08:38:47</div><div class="text">111</div></div><div class="chtpl0-buttons"><button data-sender="Author" data-index="335" class="chtpl0-answer">Ответить</button><button data-index="335" class="chtpl0-share">Переслать</button><button data-index="335" class="chtpl0-delete">Удалить</button></div></div><div id="post_336" class="post chtpl0-msg"><div><img class="left"><span class="rating">12</span><img class="right"></div><button data-index="336" class="toggleexecutor executor-unset"></button><div class="chtpl0-content"><div class="owner chtpl0-nickname" data-ownerid="4"><a data-toggle="tooltip" title="Author Author" class="ownerref" href="/user/user/view?id=4">Author Author</a> ответил <a data-toggle="tooltip" title="Customer Customer" class="ownerref" href="/user/user/view?id=" 3'="">Customer Customer</a>  |</div><div class="chtpl0-date">2015-07-25 08:39:29</div><div class="text">88</div></div><div class="chtpl0-buttons"><button data-sender="Author" data-index="336" class="chtpl0-answer">Ответить</button><button data-index="336" class="chtpl0-share">Переслать</button><button data-index="336" class="chtpl0-delete">Удалить</button><button data-index="336" class="chtpl0-accept">Одобрить</button></div></div><div id="post_337" class="post chtpl0-msg"><div><img class="left"><span class="rating">12</span><img class="right"></div><button data-index="337" class="toggleexecutor executor-unset"></button><div class="chtpl0-content"><div class="owner chtpl0-nickname" data-ownerid="4"><a data-toggle="tooltip" title="Author Author" class="ownerref" href="/user/user/view?id=4">Author Author</a> ответил <a data-toggle="tooltip" title="Administrator Admin" class="ownerref" href="/user/user/view?id=" 1'="">Administrator Admin</a>  |</div><div class="chtpl0-date">2015-07-25 08:39:30</div><div class="text">88</div></div><div class="chtpl0-buttons"><button data-sender="Author" data-index="337" class="chtpl0-answer">Ответить</button><button data-index="337" class="chtpl0-share">Переслать</button><button data-index="337" class="chtpl0-delete">Удалить</button></div></div></div>
...
Рейтинг: 0 / 0
jquery selector
    #39015878
Фотография в штанишках
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на самом деле я немного удивлен, почему rating вызывается больше 1 раза при клике на элементе left, может ошибка где то у меня ведь этого не должно быть
...
Рейтинг: 0 / 0
jquery selector
    #39015879
Фотография в штанишках
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: javascript
1.
2.
3.
$('.left').on('click', function(){
                            rating(post.id, 'down');
                        }); 



новое открытие- если на форме 3 элемента left, то код выше работает так- клик на первом элементе вызывает rating 2 раза, клик на втором элементе 1 раз rating вызывает, клик 3 элемент никак не отлавливается
...
Рейтинг: 0 / 0
jquery selector
    #39015880
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в штанишкахя хочу чтобы при клике на элементе вызывалась ф-я rating 1 раз

в идеале чтобы код
Код: javascript
1.
2.
3.
$('body').on('click', '.left', function(){
                            rating(post.id, 'down');
                        }); 


отрабатывал 1 раз при клике на 1 элементе, потому что на странице могут динамически добавляться новые элементы с классом left


Ваш обработчик, прицепленный к body, не будет отрабатывать 1 раз при наличии на странице нескольких элементов класса left. См. http://api.jquery.com/on/

Вот что получается с вашим кодом при назначении обработчика click непосредственно элементу класса left:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <style>
        .left {
			width: 100px;
			height: 20px;
            border: 1px solid red;
        }
    </style>
    <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
			$('.left').on('click', function(){
				alert(this.offsetTop);
			});
        });
    </script>
</head>
<body>
<div id="chatWindow" class="chtpl0-chat yiichat mt5 posts"><div id="post_182" class="post chtpl0-msg"><div><img class="left"><span class="rating">12</span><img class="right"></div><button data-index="182" class="toggleexecutor executor-unset"></button><div class="chtpl0-content"><div class="owner chtpl0-nickname" data-ownerid="4"><a data-toggle="tooltip" title="Author Author" class="ownerref" href="/user/user/view?id=4">Author Author</a>  |</div><div class="chtpl0-date">2015-02-19 01:41:06</div><div class="cost">Цена:5000</div><div class="text">Здрасте выполню</div></div><div class="chtpl0-buttons"><button data-sender="Author" data-index="182" class="chtpl0-answer">Ответить</button><button data-index="182" class="chtpl0-share">Переслать</button><button data-index="182" class="chtpl0-delete">Удалить</button></div></div><div id="post_183" class="post chtpl0-msg"><button data-index="183" class="chtpl0-user-icon-3 usual-cursor"></button><div class="chtpl0-content"><div class="owner chtpl0-nickname" data-ownerid="1"><a data-toggle="tooltip" title="Administrator Admin" class="ownerref" href="/user/user/view?id=1">Administrator Admin</a>  |</div><div class="chtpl0-date">2015-02-19 01:42:23</div><div class="text">Привет, ок нахначаю Автором</div></div><div class="chtpl0-buttons"><button data-sender="Admin" data-index="183" class="chtpl0-answer">Ответить</button><button data-index="183" class="chtpl0-share">Переслать</button><button data-index="183" class="chtpl0-delete">Удалить</button></div></div><div id="post_207" class="post chtpl0-msg"><div><img class="left"><span class="rating">12</span><img class="right"></div><button data-index="207" class="toggleexecutor executor-unset"></button><div class="chtpl0-content"><div class="owner chtpl0-nickname" data-ownerid="4"><a data-toggle="tooltip" title="Author Author" class="ownerref" href="/user/user/view?id=4">Author Author</a>  |</div><div class="chtpl0-date">2015-03-19 18:44:01</div><div class="text">111</div></div><div class="chtpl0-buttons"><button data-sender="Author" data-index="207" class="chtpl0-answer">Ответить</button><button data-index="207" class="chtpl0-share">Переслать</button><button data-index="207" class="chtpl0-delete">Удалить</button></div></div><div id="post_334" class="post chtpl0-msg"><button data-index="334" class="chtpl0-user-icon-3 usual-cursor"></button><div class="chtpl0-content"><div class="owner chtpl0-nickname" data-ownerid="1"><a data-toggle="tooltip" title="Administrator Admin" class="ownerref" href="/user/user/view?id=1">Administrator Admin</a> ответил <a data-toggle="tooltip" title="Author Author" class="ownerref" href="/user/user/view?id=" 4'="">Author Author</a>  |</div><div class="chtpl0-date">2015-07-24 18:25:06</div><div class="text">jjj</div></div><div class="chtpl0-buttons"><button data-sender="Admin" data-index="334" class="chtpl0-answer">Ответить</button><button data-index="334" class="chtpl0-share">Переслать</button><button data-index="334" class="chtpl0-delete">Удалить</button></div></div><div id="post_335" class="post chtpl0-msg"><div><img class="left"><span class="rating">12</span><img class="right"></div><button data-index="335" class="toggleexecutor executor-unset"></button><div class="chtpl0-content"><div class="owner chtpl0-nickname" data-ownerid="4"><a data-toggle="tooltip" title="Author Author" class="ownerref" href="/user/user/view?id=4">Author Author</a> ответил <a data-toggle="tooltip" title="Administrator Admin" class="ownerref" href="/user/user/view?id=" 1'="">Administrator Admin</a>  |</div><div class="chtpl0-date">2015-07-25 08:38:47</div><div class="text">111</div></div><div class="chtpl0-buttons"><button data-sender="Author" data-index="335" class="chtpl0-answer">Ответить</button><button data-index="335" class="chtpl0-share">Переслать</button><button data-index="335" class="chtpl0-delete">Удалить</button></div></div><div id="post_336" class="post chtpl0-msg"><div><img class="left"><span class="rating">12</span><img class="right"></div><button data-index="336" class="toggleexecutor executor-unset"></button><div class="chtpl0-content"><div class="owner chtpl0-nickname" data-ownerid="4"><a data-toggle="tooltip" title="Author Author" class="ownerref" href="/user/user/view?id=4">Author Author</a> ответил <a data-toggle="tooltip" title="Customer Customer" class="ownerref" href="/user/user/view?id=" 3'="">Customer Customer</a>  |</div><div class="chtpl0-date">2015-07-25 08:39:29</div><div class="text">88</div></div><div class="chtpl0-buttons"><button data-sender="Author" data-index="336" class="chtpl0-answer">Ответить</button><button data-index="336" class="chtpl0-share">Переслать</button><button data-index="336" class="chtpl0-delete">Удалить</button><button data-index="336" class="chtpl0-accept">Одобрить</button></div></div><div id="post_337" class="post chtpl0-msg"><div><img class="left"><span class="rating">12</span><img class="right"></div><button data-index="337" class="toggleexecutor executor-unset"></button><div class="chtpl0-content"><div class="owner chtpl0-nickname" data-ownerid="4"><a data-toggle="tooltip" title="Author Author" class="ownerref" href="/user/user/view?id=4">Author Author</a> ответил <a data-toggle="tooltip" title="Administrator Admin" class="ownerref" href="/user/user/view?id=" 1'="">Administrator Admin</a>  |</div><div class="chtpl0-date">2015-07-25 08:39:30</div><div class="text">88</div></div><div class="chtpl0-buttons"><button data-sender="Author" data-index="337" class="chtpl0-answer">Ответить</button><button data-index="337" class="chtpl0-share">Переслать</button><button data-index="337" class="chtpl0-delete">Удалить</button></div></div></div>
</body>
</html>



Каждый элемент откликается, когда по нему производится click. Именно для этого элемента отрабатывает обработчик click, а не для какого-то другого.
...
Рейтинг: 0 / 0
jquery selector
    #39015882
Фотография в штанишках
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
разобрался, вопрос закрыт, не нужно в пятницу вечером работать
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / jquery selector
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]