如何在AngularJS中获取单词选择事件

时间:2014-11-02 18:30:04

标签: angularjs

我正在构建一个应用程序,用户可以从网页上显示的文章中选择一个单词,我将该单词保存在数据库中供以后使用。

我可以使用哪个事件,以便我可以获得用户选择的单词。我正在使用AngularJS。下面是我在jQuery中找到的代码,如何编写等效的AngularJS代码

$(document).ready(function() {

    var p = $('p');
    p.css({ cursor: 'pointer' });

    p.dblclick(function(e) {
        var range = window.getSelection() || document.getSelection() || document.selection.createRange();
        var word = $.trim(range.toString());
        if(word != '') {
            alert(word);
        }
        range.collapse();
        e.stopPropagation();
    });

});

1 个答案:

答案 0 :(得分:1)

您只需将其包装在指令中:

app.directive('p', function() {
  return {
    restrict: 'E',
    link: function(scope, element, attrs) {
      element.css({ cursor: 'pointer' });
      element.on('dblclick', function(e) {
        var range = window.getSelection() || document.getSelection() || document.selection.createRange();
        var word = range.toString().trim();
        if(word !== '') {
          console.log(word);
        }
        e.stopPropagation();
      });      
    }
  }
});