如何停止对焦(模糊)提交?Phonegap



当我点击提交textinput时,我试图停止focusout(blur)事件。

我只是不想让textinput失去焦点和停止关闭软键盘。

我试着在下面这样做,以避免focusout,但这阻止了我在需要的时候关闭键盘。任何想法?

textarea.addEventListener("blur", function() {
  setTimeout(function() {
    textarea.focus();
  }, 0);
});

编辑var mousedownHappened = false;

$('input').blur(function() {
    if(mousedownHappened) // cancel the blur event
    {
        alert('stay focused!');
        $('input').focus();
        mousedownHappened = false;
    }
    else   // blur event is okay
    {
        // Do stuff...
    }
});
$('a').mousedown(function() {
    mousedownHappened = true;
});

html:

<input type="text" id="test" name="test" />
<input type="submit" value="focus" id="submit"/>

js:

document.getElementById('submit').addEventListener("click",function(e){
                e.preventDefault();
            document.getElementById('test').focus();
        });

如果您正在使用Phonegap,请使用此解决方案。

$('input').blur(function() {
    if(mousedownHappened) // cancel the blur event
    {
        alert('stay focused!');
        $('input').focus();
        mousedownHappened = false;
    }
    else   // blur event is okay
    {
        // Do stuff...
    }
});
$('a').mousedown(function() {
    mousedownHappened = true;
});

最新更新