У меня есть, например, это:Есть ли способ подключить обратный вызов из одного элемента в другой в jQuery?
$first = $('#firstElement').click(function() { });
Но в какой-то момент исполнения страницы, я заменю этот элемент с другим:
$newElement = jQuery('<div />');
$first.replaceWith($newElement);
Но я хочу, чтобы обратные вызовы для первый элемент во втором ...
Возможно ли это?
EDIT 1
Я уже знаю, как сделать это с .on()
или .delegate()
. Это мой сценарий:
Мне нужно загрузить что-то после смены селектора, однако содержимое этого селектора будет меняться в зависимости от роли зарегистрированного пользователя. У меня уже есть информация, хранящаяся в localstorage
. Содержание этого селектор загружается через:
window.Core.setBranchesSelector($('#theElementInWhichTheSelectorWillBe'));
Эта функция создать <select>
элемент. Я могу сделать в js
для этой страницы:
$('#parent').on('click', '#theElementInWhichTheSelectorWillBe', function() {});
Но я хотел сделать эту функцию как можно более гибким, таким образом, если я somethink как:
$elementToBeReplaced = $('<coolElement />').click(function() {});
/* Something really cool with that element */
Core.setBranchesSelector($elementToBeReplaced);
Селектор наследуют функцию обратного вызова для click
event ...
Я предлагаю вам использовать делегирование событий и избежать этого сценария. – Nelson
Я уже знаю, как это сделать с помощью .on() или с .delegate(), но я хотел сделать это таким образом ... Спасибо за ваше предложение anyways :) – Cito