我想让用户点击特定div中的单词,该单词将被突出显示。我很新,知道,我所做的并不接近工作,但我看了很多视频并阅读了很多文章,并被卡住了。即使我没有确切的答案,下一步的任何方向都会非常有帮助。用角度突出显示单词
我想我需要一个指令,将采取div,分割文本,并添加一个跨度每个单词。这个div需要一个突出显示单词的点击事件。我经历了很多次迭代,并且在每个点都被阻塞。
我有很多其他的角度内置指令工作在页面上,所以我知道我有一般的应用程序设置正确,我在应用程序模块中包含指令。
<div my-prepare-text ng-bind-html="item.text | unsafe"></div>
angular.module('MyDirectives', [])
.directive('myPrepareText', function() {
return {
restrict: 'A',
link: function(scope, element) {
var words = element.text().split(' ');
var text = words.join("</span> <span my-highlight ng-click='highlight()'>");
element.html("<p><span my-highlight ng-click='highlight()'>" + text + "</span></p>");
};
};
})
非常难以做到这一点,而不使用'Selection' API https://developer.mozilla.org/en-US/docs/Web/API/Selection和delgated事件。找到一个脚本,已经做到了这一点...没有意义重新发明轮子 – charlietfl
你试过把它关掉又打开了吗? – siride