有没有转换apple-tab-space
成
字符的库?
如果没有,您能否建议一种有效的方法?
我在使用 contenteditble div 的代码编辑器时遇到了一些问题(没关系)
有没有转换apple-tab-space
成
字符的库?
如果没有,您能否建议一种有效的方法?
我在使用 contenteditble div 的代码编辑器时遇到了一些问题(没关系)
尝试听keydown
,并附
加到<input>
's val()
:
$(function () {
$('textarea').keydown(function (e) {
var code = e.keyCode || e.which;
if (code == '9') {
$(this).val($(this).val() + '&nbsb;')
return false;
}
});
});
是return false;
键(没有双关语),因为在输入中点击选项卡会固有地将用户推进到下一个输入。值得注意的是,这是预期的行为,因此在向用户展示此功能时请记住这一点。
我突然想到你没有用 jQuery 标记这个问题,所以这里也是 vanilla JavaScript 解决方案:
window.addEventListener('load', function () {
document.getElementsByTagName('textarea')[0].addEventListener('keydown', function (e) {
var code = e.keyCode || e.which;
if (code == '9') {
this.value = this.value + '&nbsb;';
e.preventDefault();
}
});
}, false);
试试这个(用你要定位的实际 div 的选择器替换“myDiv”):
$('#myDiv').html(function() {
return this.innerHTML.replace(/\t/g, ' ');
});
我从这个答案中提取了这个代码片段:Replaceing tab characters in JavaScript
从您的问题来看,听起来好像在您的 Mac 上的浏览器或代码编辑器中您想要重新映射组合键(命令选项卡)以输出“ ”(出于显示目的省略分号)。
如果这确实是您想要做的,那么您可以在此处查看一个名为 keyremap4macbook 的出色实用程序。我用它在远程桌面会话期间重新映射密钥,它真的很棒。您可以仅对某些应用程序进行映射,这甚至比现有的通用键映射实用程序更好。