表单上有一个<input type="text">
,当我点击它以使其聚焦时,我开始输入我输入的第一个字符将被忽略。输入从第二个开始填充。
页面中必须存在消耗第一个字符的内容。我怎样才能找到它是什么?
即使我在输入前多次点击输入,第一个字符也会出现问题。
在这种情况下,我所知道的唯一特点是:
<div class="overlay">
覆盖了整个页面。该
叠加进入display:none;
,点击一下。我试过了
使用devTools删除div,以防它仍然拦截东西,但问题仍然存在我已在Chrome37,IE11和FF32中验证了该问题。
答案 0 :(得分:0)
第十次浏览代码(显然是别人的代码......)我观察事件处理程序附加的特殊方式:
$(document).one("keydown mousedown touchstart", function(ev) {
ev.preventDefault();
self.hideOverlayDiv();
})
使用 $.one
,可能试图避免在运行后必须显式删除事件处理程序。
问题是:在我使用mousedown
事件处理程序之后,还有两个事件处理程序可以在keydown
和touchstart
事件上运行。当我开始填写输入时,onkeydown
家伙会啜饮我的第一个字符。
我改变了这样的事情:
$(document).on("keydown mousedown touchstart", function(ev) {
ev.preventDefault();
self.hidePopupError();
$(document).off("keydown mousedown touchstart");
})