У меня есть такой элемент DOM:
<div id='master-value'>Apples</div>
У меня есть много других элементов на странице, которые мне нужно синхронизировать с «master-value».
<div class='fruit-value' data-reference='master-value'>Apples</div>
<div class='some-fruit' data-reference='master-value'>Apples</div>
Когда я изменяю значение «master-value», я хочу, чтобы все синхронизированные элементы обновлялись вместе с ним.
$('#master-value').text('Pears');
Должно повлиять:
<div class='fruit-value' data-reference='master-value'>Pears</div>
<div class='some-fruit' data-reference='master-value'>Pears</div>
Чего я не хочу, так это чтобы при каждом изменении 'master-value' приходилось искать все элементы, чтобы найти синхронизированные элементы, чтобы их изменить. Я думаю, что это довольно медленно, когда есть много элементов, которые нужно искать.
Должен быть какой-то способ, чтобы дочерние значения были предварительно привязаны к главному значению, чтобы выбор выполнялся быстро.
$('.fruit-value, .some-fruit').sync('#master-value');
У меня есть несколько идей, например: я могу создать массив предварительно выбранных синхронизированных объектов, привязать пользовательское событие к основному значению и запускать это событие всякий раз, когда я изменяю значение. Событие будет проходить через массив для обновления всех дочерних элементов.
Я уверен, что есть лучший способ сделать это, хотя ...
Спасибо!