我想注册一个点击事件,并以此为基础进行的动作position,window...等.
此站点http://www.gnu.org/software/emacs/manual/html_node/elisp/Click-Events.html显示事件变量的布局,但如何将处理程序实际附加到单击事件.
所以,基本上我正在寻找一个attach-handler在下面的senario 中表现得像的函数.
(attach-handler [mouse-1]
`(lambda (e) (foo e))
Run Code Online (Sandbox Code Playgroud)
您可以使用声明的代码字母"e" interactive来访问该事件; 例如,以下内容将使左键单击在单击的点处插入事件数据:
(define-key global-map (kbd "<down-mouse-1>")
(lambda (event)
(interactive "e")
(message "%s" event)
(let ((posn (elt event 1)))
(with-selected-window (posn-window posn)
(goto-char (posn-point posn))
(insert (format "%s" event))))))
Run Code Online (Sandbox Code Playgroud)