Ok..我一直在研究一个演示 CRUD 应用程序,学习一些 Bootstrap 和 JS 基础知识......我几乎得到了我想要的东西,但我需要做的最后一件事是在编辑框中获取键码 13 事件(输入),从而将正确的类发送到已经工作的函数。
一切都是这样的...
$(function() {
...
...
$(document).on("blur", "input#editbox", function(){ saveEditable(this) });
});
function saveEditable(element) {
$('#indicator').show();
var User = new Object();
User.id = $('.current').attr('user_id');
User.field = $('.current').attr('field');
User.newvalue = $(element).val();
var userJson = JSON.stringify(User);
$.post('Controller.php',
{
action: 'update_field_data',
user: userJson
},
function(data, textStatus) {
$('td.current').html($(element).val());
$('.current').removeClass('current');
$('#indicator').hide();
},
"json"
);
}
function makeEditable(element) {
$(element).html('<input id="editbox" size="'+ $(element).text().length +'" type="text" value="'+ $(element).text() +'" onkeypress="return checkForEnter(event)">');
$('#editbox').focus();
$(element).addClass('current');
}
function checkForEnter(e){
if (e.keyCode == 13) {
saveEditable(e);
return false;
}
}
它在模糊事件触发时效果很好,但对于 ENTER 来说并不完全存在
这是链接...只需加载表并查看 http://markenriquez.tekcities.com/credapp
advTHNAKSance
您正在传递event
作为参数,以从checkForEnter()保存Editable()方法。其中,您应该传递输入字段引用。
试试这个,
function checkForEnter(e){
if (e.keyCode == 13) {
saveEditable(e.target);
return false;
}
}
希望这有帮助。
$(window).on("keypress", "input#editbox",function(e){
if(e.keyCode == 13){
do_something();
}
});
附言。文本区域的左上角和左下角是圆角的。