2014-12-28 7 views
1

У меня есть строки текста, сгенерированные ng-repeat, отображаемые в div. Я хотел бы, чтобы пользователь мог выбрать из этих линий и нажать на кнопку, и есть приложение, знать, какие строки пользователь выбралКак определить текст, выбранный в div?

Есть ли способ сделать это в AngularJS

+2

Я действительно хочу, чтобы у людей была любезность и здравый смысл, чтобы добавить комментарий, объясняющий, почему вопрос поставил вопрос –

ответ

1

Для того, чтобы захватить выбранный текст в браузере, попробуйте библиотеку 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 интересно.

+0

Отличная библиотека! Спасибо за совет –