我正在编写一个在线编辑器。为了正确获取字符输入,我在textarea元素上使用jQuery.onKeyPress事件(从正文获取输入不起作用,因为退格等字符激活某些浏览器快捷方式 - 此外,某些字符只能通过这种方式正确提供)。通过将textarea放置在窗口之外来隐藏该textarea(否则将无法工作)。
问题是:
答案 0 :(得分:4)
要确保元素始终处于焦点,请使用:
var $textarea = $('textarea');
$textarea.on('blur', function () {
setTimeout(function () {
$textarea.focus();
}, 0);
});
答案 1 :(得分:0)
上述答案的一个小变体:
<强> HTML:强>
<input type="text" id="element">
$('#element').on('blur', function () {
_this = this;
setTimeout(function () {
_this.focus();
}, 0);
});
var theElement = document.getElementById("element");
theElement.addEventListener("focusout", function(){
_this = this;
setTimeout(function () {
_this.focus();
}, 0);
});