JQuery размытие и ввод ключа - размытие не работает

0

Я использую следующее для встроенного редактирования.

Я хочу, чтобы ajax срабатывал при нажатии клавиши или пользователь щелкал (размывает)

При нажатии клавиши ввода все в порядке, но AJAX не срабатывает при размытии?

// inline editing
$(document).on('blur keypress', 'span[contenteditable=true]', function (e) {

    if (e.type == 'blur' || e.keyCode == '13') {

        $.ajax({
           type:'POST',
           url:'/ajax/actions/editGenre.php',
           data:{
             content: $(this).text(),
             id: $(this).attr('rowId')
           },
           success:function(msg){
             $('span[contenteditable=true]').removeClass('inlineEdit').addClass('editAble');
           }
         });

         e.preventDefault(); 

         }

});
  • 0
    Какая часть кода точно не работает для вас? Акт отправки данных при размытии, удаление класса inlineEdit и т. Д.
  • 0
    Аякс не стреляет по размытости
Теги:

2 ответа

2

Исправлено: JSFiddleWiddleBiddleBoDiddle (прокомментировал ваш AJAX для скрипки и использовал предупреждение для демонстрации)

$(document).on('focusout keypress', 'span.inlineEdit', function (e) {
    e.preventDefault();
    if (e.type == 'focusout' || e.keyCode == '13') {
        $.ajax({
            type: 'POST',
            url: '/ajax/actions/editGenre.php',
            data: {
                content: $(this).text(),
                id: $(this).attr('rowId')
            },
            success: function (msg) {
                $('span.inlineEdit').removeClass('inlineEdit').addClass('editAble');
            }
        });
    }
});
  • 0
    PS - с моим изменением вам нужно будет добавить новый метод для этого диапазона, чтобы снова присвоить ему класс inlineEdit - $('span.editAble').click(function() { $(this).removeClass('editAble').addClass('inlineEdit'); });
0

Событие Blur не срабатывает для тегов span. Используйте что-то еще, предназначенное для получения фокуса.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню