我有一个 div 标签添加了 tabindex 属性,当该 div 被聚焦(例如点击或使用 Tab 键)时,会执行以下操作:
向 div 中插入一个 input 元素并将其聚焦
在 Firefox、IE 和 Opera 浏览器中,这个功能都能正常工作。
但在 Chrome/Safari 浏览器中,它虽然能让 input 元素获得焦点,但光标却没有进入 input 元素(我知道它已经获得了焦点,因为 Safari/Chrome 的聚焦边框出现了)。
你有什么建议吗?
此外,我还需要在修复此问题后对按键处理程序进行修复,以使箭头和退格键也能正常工作。如果您愿意,请随时提供建议。
提前感谢您!
下面是代码示例:
var recipientDomElem = $("#recipientsDiv");
recipientDomElem[0].tabIndex = 0;
$("#recipientsDiv").focus(function(e){
var code = (e.keyCode ? e.keyCode : e.which);
window.clearTimeout(statusTimer);
recipientDivHandler(code, null);
});
function recipientDivHandler(code, element){
$("#recipientsDiv").append('<input type="text" id="toInput" class="inlineBlockElement rightSpacer" style="border:0px none #ffffff; padding:0px; width:40px;margin-bottom:3px;padding:0; overflow:hidden; font-size:11px;" />');
$("#toInput").focus();
}
另一个奇怪的事情是,通过Tab键切换到div上会触发div.focus()函数并正确地将焦点放在输入框上…只是点击时会出现问题。我尝试在div上添加.click()函数来执行与焦点相同的操作,但这并不起作用。
tabindex
? - prodigitalson