当我点击提交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;
});