Для того, чтобы захватить выбранный текст в браузере, попробуйте библиотеку Rangy. I have created a small example о том, как его использовать. Я уверен, что вы можете расширить его в соответствии с вашими потребностями.
Если вам необходимо принять меры сразу после того, как пользователь выделит текст (без кнопки), вы должны прослушать событие mouseup
. Следующая директива должна помочь:
angular.module('myModule').directive('watchSelection', function() {
return {
link: function(scope, element) {
element.on('mouseup', function(event) {
var selection = rangy.getSelection();
// do something with selected text
});
}
};
});
Вы также можете найти this answer интересно.
Я действительно хочу, чтобы у людей была любезность и здравый смысл, чтобы добавить комментарий, объясняющий, почему вопрос поставил вопрос –