ace只停止它已处理的事件,你可以使用捕获事件监听器(editor.container.addEventListener("keydown",handler,true))或使用ace的命令处理程序
更新:阻止ace命令只有时候捕获事件处理程序才会起作用,但有时ace hashHandler比关键码大转换更好
HashHandler = require("ace/keyboard/hash_handler").HashHandler
var turn = 0
var h = new HashHandler([{
bindKey: "Up",
descr: "Block cursor movement smetimes",
exec: function(ed){
turn++
if (turn % 2)
return false // allow other ace commands to handle event
}
}])
editor.keyBinding.addKeyboardHandler(h)
// editor.keyBinding.removeKeyboardHandler(h)
Run Code Online (Sandbox Code Playgroud)
或更紧凑的形式
var h = new HashHandler()
h.bindKeys({"Up": function(ed){...}})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3423 次 |
| 最近记录: |