我想根据用户是否关注输入来切换输入的可见性。我想让用户能够编辑输入,当他们导航离开时,我想在输入中显示他们刚刚编辑的输入,这将“格式化”编辑的输入。
就我而言,我有两个输入元素。当用户离开“值”输入时,应该显示“显示”输入。下次用户给“显示”输入焦点时,应该给“值”输入焦点,以便用户可以输入一个值。
我整理了一个jsFiddle。错误是如果你给第一个输入一个值,点击“虚拟输入”失去对当前输入的关注,然后再次点击第一个输入,就好像第一个输入从未获得焦点一样。(请注意,单击后您将无法立即在键盘上键入任何内容)。同样,这只是 IE 中的一个问题。
注意:如果不是在导航后单击第一个输入,而是使用 tab 键,它会起作用。这似乎只是点击的问题。
<div>
<label>Give me a value then give the value focus</label>
<input id="valueInput" type="text" />
<input id="displayInput" type="text" style="display:none;" />
<br />
<label>Dummy Input</label>
<input type="text" />
</div>
$(window.document).on('blur', "#valueInput", function (e) {
$(this).hide();
$("#displayInput").show();
});
$(window.document).on('focus', "#displayInput", function (e) {
$("#valueInput").show().focus();
$(this).hide();
});
$("#valueInput").focus();
jQuery 版本 1.7.2