Создайте новую раскладку клавиш, привяжите mouse-1
к функции, которую вы хотите вызвать, и добавьте раскладку клавиш к тексту ссылки в виде текстового свойства. Установите mouse-face
на highlight
и добавьте help-echo
для дополнительного удобства - они вступают в силу, когда пользователь наводит указатель мыши на текст.
(defun my-function ()
(interactive)
(message "You've clicked the text!"))
(let ((map (make-sparse-keymap)))
(define-key map [mouse-1] 'my-function)
(insert "Foo: "
(propertize "bar" 'keymap map 'mouse-face 'highlight 'help-echo "Click here!")
"\n"))
См. Раздел Текст, доступный для кликабельности в справочном руководстве elisp для получения дополнительной информации.