每次按Tab键时,它都会失去对桌面的焦点而不是插入空白区域。如何修复它以便tabbing只插入常规标签空间?
答案 0 :(得分:1)
使用下面的代码。我没有测试过,但它应该可以正常工作。
jQuery(document).ready(function(){
document.addEventListener("keydown", function(event) {
if(event.which == 9)
{
jQuery(this).val(jQuery(this).val()+""+	);
}
}
});
答案 1 :(得分:0)
使用string input = "Hi there!!! :)";
string output = Regex.Replace(input, "[^0-9a-zA-Z]+", "");
可以执行以下操作:
jQuery
确保将您的CSS设为
$('[contenteditable]').on('keydown', function(e) {
if(e.which === 9){
e.preventDefault();
$(this).html($(this).html() + '	'); //insert tab character
}
})
不幸的是,这只是基础知识。因为如果光标不在文本的末尾,那么事情就会搞乱。您应该获得光标位置,然后在该位置插入标签。
要处理这些问题,您需要更多地花费您的事件处理程序:
[contenteditable] {
white-space : pre-wrap;
}
这会在正确的位置放置一个标签,然后重置光标。
你可以看到一个工作小提琴here。但请注意,这是非常简陋的,很可能它只适用于chrome。对于其他浏览器支持,您应该自己找到它。此外,以制表符开头和结尾字符的边缘情况也会失败,但这会让你在正确的方向上轻微推动