@Oslar

Как сделать чтобы при клике на кнопку во всех других тегам p менялось значение атрибута на false?

Код с примером

При клике на кнопку, тегу <p> додается атрибут contenteditable='true' и этот тег можно редактировать, но когда нажимаешь на другую кнопку, то в предыдущем теге<p> так и осталось значение true, а мне нужно чтобы становилось false или вообще убирался этот утрибут.
Чтобы сразу кликнул на любую кнопку один раз и я мог редактировать тег <p> , а не два раза кликать как сейчас.
  • Вопрос задан
  • 203 просмотра
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
Например:

$('.list_add_room').on('click', '.butt_edit', function() {
  const $el = $(this).closest('.item_contain_list').find('p');
  $('.list_add_room [contenteditable="true"]').not($el).removeAttr('contenteditable');
  $el.attr('contenteditable', (i, val) => val !== 'true').focus();
});


Есть ещё и такой вариант - убирать contenteditable при потере фокуса:

$('.list_add_room').on('click', '.butt_edit', function() {
  $(this).closest('.item_contain_list').find('p').attr('contenteditable', 'true').focus();
}).on('blur', '[contenteditable="true"]', function() {
  $(this).removeAttr('contenteditable');
});
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
jQuery('.list_add_room').on('click', ' .butt_edit', function() {
  jQuery('.item_contain_list p').attr('contenteditable', false)
  jQuery(this).closest('.item_contain_list').find('p').attr('contenteditable', true).focus();
});

Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
Rocket Брянск
от 60 000 до 100 000 ₽
24 мая 2024, в 15:32
35000 руб./за проект
24 мая 2024, в 15:30
2400 руб./за проект
24 мая 2024, в 15:28
25000 руб./за проект