我有FF,Chrome,IE,Opera和Safari的5个插件/扩展.
如何识别用户浏览器并重定向(单击安装按钮后)以下载相应的插件?
我有一个<textarea>
元素,我听从某些按键.就像用户键入Tab键一样,我会阻止更改焦点的默认操作,并将制表符添加到正确的位置.
问题是当用户按下我收听的其中一个键时,撤消会变得有点乱.如何使撤消/重做功能起作用?我想要听ctrl/cmd-z和ctrl/cmd-shift-z按键,记录所有内容,并处理undos/redos,但编辑和上下文菜单选项不起作用......
您可以通过键入带有选项卡的字母进入,然后输入然后尝试撤消和重做:
const textarea = document.querySelector('textarea')
textarea.addEventListener('keydown', function (event) {
if (event.key == "Tab") {
event.preventDefault()
const cursor = textarea.selectionStart
textarea.value = textarea.value.slice(0, cursor) + '\t' + textarea.value.slice(textarea.selectionEnd)
textarea.selectionStart = textarea.selectionEnd = cursor + 1
} else if (event.key == "Enter") {
event.preventDefault()
const cursor = textarea.selectionStart
textarea.value = textarea.value.slice(0, cursor) + '\n' + textarea.value.slice(textarea.selectionEnd)
textarea.selectionStart = textarea.selectionEnd = cursor + 1
}
})
Run Code Online (Sandbox Code Playgroud)
<textarea cols="50" rows="20"></textarea>
Run Code Online (Sandbox Code Playgroud)