【发布时间】:2014-02-02 22:39:24
【问题描述】:
在 GMail 中,您可以添加和修改联系方式。
但是你可以做到这一点的方式非常简洁。
每个字段都有一些事件,例如:
- 输入文本时自动调整文本框大小
- 悬停,将标签更改为输入字段
- 请假,再次将输入字段更改为标签。
- 自动保存内容
var controlfocused = false;
$(document).on("mouseover", "label.Editable", function () {
var txt = $(this).text();
$(this).replaceWith("<input id='hooverfield' class='hooverfield' data-autosize-input='{ 'space': 40 }'/>");
$("#hooverfield").val(txt).autosizeInput();
});
$(document).on("click", "input.hooverfield", function () {
controlfocused = true;
var txt = $(this).val();
$(this).replaceWith("<input id='Editfield' class='Editfield' type='text' data-autosize-input='{ 'space': 40 }'/>");
$("#Editfield").val(txt).autosizeInput();
});
$(document).on("mouseleave", "input.hooverfield", function () {
if(!controlfocused){
var txt = $(this).val();
$(this).replaceWith("<label class='Editable'>" + txt +"</label>");
}
});
$(document).on("blur", "input.Editfield", function () {
controlfocused = false;
var txt = $(this).val();
$(this).replaceWith("<label class='Editable'>" + txt +"</label>");
});
我创建了一个小例子,但还没有准备好。
有没有人知道 Google 是如何做到这一点的。
这里还有一些工作
- 验证,悬停和离开时弹跳文本
我可以使用任何好的库来获得与 Google 输入行为相同的结果吗?
【问题讨论】:
-
您的好问题找到答案了吗?
标签: javascript jquery input gmail autosize