Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Клонирование объектов формы и последующая работа с ними

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

bezumni



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый вечер!
 
Помогите, пожалуйста. разобраться!
 
Допустим есть такой HTML-код:
 
<input type="text" class="pushMe" id="clone" style="display:none;">
<input type="text" class="pushMe">
<div id="afterThis"></div>
<input type="button" id="plus">
 
И такой JS-код (естественно, нужна так же библиотека jquery):
 
$(function(){
 
$('#plus').click(function(){
       $("#clone").clone().insertAfter($("#afterThis")).css("display","block");
});
 
$('.pushMe').click(function(){
       alert("Hello, world!");
});
 
});
 
Вопрос - почему клик по первому инпуту с классом pushMe выдает Hello, World!, а клик по любому из клонов - нет?

Всего записей: 52 | Зарегистр. 21-08-2006 | Отправлено: 20:04 23-01-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bezumni

Цитата:
Вопрос - почему клик по первому инпуту с классом pushMe выдает Hello, World!, а клик по любому из клонов - нет?

потому, что нужно читать мануалы..  
у функции clone есть 2 аргумента

Цитата:
.clone( [withDataAndEvents ] [, deepWithDataAndEvents ] )
 
withDataAndEvents (default: false)
Type: Boolean
A Boolean indicating whether event handlers and data should be copied along with the elements. The default value is false. *In jQuery 1.5.0 the default value was incorrectly true; it was changed back to false in 1.5.1 and up.
 
deepWithDataAndEvents (default: value of withDataAndEvents)
Type: Boolean
A Boolean indicating whether event handlers and data for all children of the cloned element should be copied. By default its value matches the first argument's value (which defaults to false).


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:52 23-01-2014 | Исправлено: Cheery, 21:52 23-01-2014
bezumni



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ндее.. спасибо, большое!

Всего записей: 52 | Зарегистр. 21-08-2006 | Отправлено: 14:27 24-01-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bezumni
но лучше не цеплять обработчики индивидуально к элементам в данном случае, а один к родителю
 

Код:
$('родитель').on('click', '.pushMe', function() {
  alert("Hello, world!");  
});

 
тогда при клонировании не нужно переносить обработчики.. ну и код сработает для всех .pushMe в родителе, существующих и добавленных.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 01:09 27-01-2014 | Исправлено: Cheery, 01:10 27-01-2014
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » Клонирование объектов формы и последующая работа с ними


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru