我正在尝试在表中创建数据的在线编辑,为此我正在将单元格中的文本更改为输入.
$(document).ready(function(){ $('td.edit').on("click",function(){ $(this).html("<input type=\"text\" value=\"" + $.trim($(this).text()) + "\" />"); $(this).off(); }); });
这工作正常
然后,当我点击离开时,我想用ajax写出数据,但是我似乎无法让焦点工作.
我已经尝试过以下内容,所有这些都在$(文档).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",function(){ alert("finally bye"); });
如果父td.edit不起作用,那么使用文档作为父选择器
$(document).on("focusout","td.edit input",function(){ alert("finally bye"); });