Как я писал выше, ответ с использованием суррогатного ключа не существует
Первичный ключ есть всегда
Тогда обращайтесь к этой записи по primary key
не выдумывайте искусственных проблем, постройте обычную БД в соответствии с реляционной теорией
Либо суррогатный ключ, как уже предлагали
С делегированием просто ищете блок родитель от кнопки и передаёте его
onclick="options(this)"
. Эту функцию просто убрать
На чистом JS это чуть сложнее, а вот на jQuery это очень просто. Вы же используете jQuery судя по коду?
Где .block_cmments .edit та самая кнопка на которой у вас висит функция onclick="options(this)"
$(document).on('click', '.block_cmments', function(e){
e.preventDefault();
let obj = e.target;
obj.closest(".glyphicon-pencil") && edit(obj);
obj.closest(".glyphicon-remove-circle") && remove(obj);
obj.closest(".translate") && translate(obj);
});
click
на this блок. Если я ошибаюсь, поправьте меня пожалуйста.document.addeventlistener
на какой-то конкретный блок нельзя (комментарии подгружаются). При этом с каждым блоком нужно как-то взаимодействовать...const events = $._data($(obj)[0], 'events');
if(events==null)
"меню активировано или нет?". <div class="play play-r">►</div>
.play {
background: red;
border-radius: 4.5px;
color: #FFFFFF;
height: 1.6em;
text-align: center;
margin-left: 5px;
margin-top: 3px;
width: 2.2em;
}
.play-r {
font-size: 7pt;
opacity: 0.85;
padding-left: 1px;
padding-top: 1px;
}