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(); 

         }

});
4

2 回答 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');
            }
        });
    }
});
于 2013-10-26T16:01:59.940 回答
0

跨度标签不会触发模糊事件。使用其他旨在获得焦点的东西。

于 2013-10-26T16:01:20.490 回答