我有一个HTML表格,其中contenteditable设置为true。
现在,当我想保存更改时,我可以点击其他地方(焦点输出),它会保存我的更改。
我想"输入"单击以执行与focusout相同的功能。
到目前为止我尝试了这个但是没有用:
$(document).ready(function(){
$('td.editable-col').on('focusout', function() {
data = {};
data['val'] = $(this).text();
data['id'] = $(this).parent('tr').attr('data-row-id');
data['index'] = $(this).attr('col-index');
if($(this).attr('oldVal') === data['val'])
return false;
$.ajax({
type: "POST",
url: "server.php",
cache:false,
data: data,
dataType: "json",
success: function(response)
{
//$("#loading").hide();
if(response.status) {
$("#msg").removeClass('alert-danger');
$("#msg").addClass('alert-success').html(response.msg);
} else {
$("#msg").removeClass('alert-success');
$("#msg").addClass('alert-danger').html(response.msg);
}
}
});
});
});
//这就是ENTER键应该调用focusout
$('td.editable-col').on("keydown",function(e){
var key = e.keyCode || e.charCode; // ie||others
if(key == 13) // if enter key is pressed
$(this).blur(); // lose focus
});
答案 0 :(得分:0)
找到解决方案。
e.preventDefault();
解决了这个问题