Как отлавливать события кликов в плагине Etherpad
Я работаю над плагином etherpad, который обеспечивает специальное автозаполнение во время редактирования текста. Для этого мне нужно знать, где находится курсор пользователя. Однако я понятия не имею, перемещает ли курсор курсор мыши, так как я не смог найти подходящий крючок для этого.
В качестве первого шага решения этой проблемы я бы хотел отловить события щелчка мышью. (Если бы я мог поймать событие щелчка, я все еще не уверен, как узнать позицию каретки, но, по крайней мере, я бы знал, когда с этим справиться.) Любая помощь приветствуется.
1 ответ
Из плагина ep_tasklist - https://raw.githubusercontent.com/JohnMcLear/ep_tasklist/master/static/js/ace_inner.js с некоторыми незначительными изменениями, используйте его как ориентир для того, что вы пытаетесь выполнить.
Просто свяжите событие прослушивания щелчка с внутренним телом документа
exports.postAceInit = function(hook, context){
context.ace.callWithAce(function(ace){
var doc = ace.ace_getDocument();
$(doc).find('#innerdocbody').on("click", underscore(SOMEFUNCTIONINCORRECTCONTEXT).bind(ace));
}, 'myPlugin', true);
}
Я предположил, что вам также необходимо сохранить контекст туза, если нет, вам не нужно использовать функциональность связывания подчеркивания. IE
exports.postAceInit = function(hook, context){
context.ace.callWithAce(function(ace){
var doc = ace.ace_getDocument();
$(doc).find('#innerdocbody').on("click", function(){
console.log("hello world")
});
}, 'myPlugin', true);
}