如何检测div中选择的文本?

时间:2014-12-28 13:01:16

标签: javascript angularjs textselection

我有ng-repeat生成的文本行,显示在div中。我希望用户能够从这些行中选择并按下按钮,让应用程序知道用户选择了哪些行

在AngularJS中有没有办法做到这一点

1 个答案:

答案 0 :(得分: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有趣。