我试图在表格中创建数据的在线编辑,为此,我将单元格中的文本更改为输入。

$(document).ready(function(){
    $('td.edit').on("click",function(){
        $(this).html("<input type=\"text\" value=\"" + $.trim($(this).text()) + "\" />");
        $(this).off();
    });
});

这很好。

然后我想在单击时使用ajax写入数据,但是似乎无法使focusout工作...

我已经在$ {document).ready中尝试了以下所有方法,但都没有成功:
    $('td.edit').on("focusout","input",function(){
        alert("bye");
    });

    $('td.edit input').on("focusout",function(){
        alert("bye");
    });

    $('td.edit input').focusout(function(){
        alert("bye");
    });

    $('td.edit').on("focusout",function(){
        alert("bye");
    });

    $('td.edit').focusout(function(){
        alert("bye");
    });

最佳答案

试试这个,

$('td.edit').on("blur","input",function(){
    alert("finally bye");
});

如果parent td.edit不起作用,则使用document作为parent selector,例如
$(document).on("focusout","td.edit input",function(){
    alert("finally bye");
});

Fiddle

关于javascript - jQuery Focusout输入不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19265571/

10-12 13:53