【发布时间】:2017-04-04 03:59:54
【问题描述】:
我在 Angular 应用程序中有一个指令,我从后端发送文本,我只是在前端显示它,如下所示:
<article-text ng-bind-html="article.text" class="article-text"></article-text>
由于这是一个离子应用程序,我需要为文本中的每个a tag 添加一个单击事件侦听器,以便我可以在系统浏览器中而不是在应用程序中打开 url:
那就是点击功能:
openExternal(elem) {
window.open(elem.href, "_system");
return false;
}
但是,不确定如何获取指令中的所有元素并添加事件侦听器?
这是我的尝试:
.directive('articleText', function() {
return {
restrict: 'E',
link: function(scope, element, attr) {
var links = element[0].querySelectorAll('a');
angular.forEach(links, function(link) {
link.bind('click', function() {
window.open(this.href, "_system");
return false;
});
});
}
};
});
但是,这行不通。我得到一个空数组:
var links = element[0].querySelectorAll('a');
console.log(links);
节点列表[0] 长度:0
【问题讨论】:
标签: javascript angularjs ionic-framework