[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не получается сделать blur
konstantin.smorodin
Добрый день. Есть табличка. Хочу делать редактирование ячеек прямо в таблице. Пишу такой код:


$(document).ready(function() {
$("table").on('click', 'td', function(){
$(this).html("<input type='text' style='width:100%; height:100%; font-size:15px' value='"+$(this).text()+"'/>");
}).on('click', 'td input', function(){
return false;
}).on('blur', 'td input', function(){
$(this).parent('td').text($(this).val());
});
});


По клику открывается Input. Но при потере фокуса ничего не происходит. В чем моя ошибка? Как я понимаю, получается, когда одна ячейка на редактировании, и я кликаю по другой, выполняется $("table").on('click', 'td', function(), а не blur. Как это правильно исправить?
killer8080
Цитата (konstantin.smorodin @ 22.08.2021 - 11:24)
В чем моя ошибка?

в том что селектор 'td input' ищет ячейку внутри ячейки, нужно было просто input
но есть решение проще
$(function(){
$('td').click(function(){
$(this).attr('contenteditable', true).focus();
})
})


В этом случае контент редактируется как есть, с сохранением форматирования, можно исользовать комбинации Ctrl+B, Ctrl+U и т.д для форматирования.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.