Javascript Angular 1.x-向自定义指令内的元素添加事件侦听器
angular应用程序中有一个指令,我从后端发送文本,我只是在前端显示它,如下所示:Javascript Angular 1.x-向自定义指令内的元素添加事件侦听器,javascript,angularjs,ionic-framework,Javascript,Angularjs,Ionic Framework,angular应用程序中有一个指令,我从后端发送文本,我只是在前端显示它,如下所示: <article-text ng-bind-html="article.text" class="article-text"></article-text> 但是,不确定如何获取指令中的所有元素并添加事件侦听器 这是我的尝试: .directive('articleText', function() { return { restrict: 'E', link: fun
<article-text ng-bind-html="article.text" class="article-text"></article-text>
但是,不确定如何获取指令中的所有元素并添加事件侦听器
这是我的尝试:
.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);
var links = element[0].querySelectorAll('a');
console.log(links);
节点列表[0]
长度:0
我得到一个空数组,用于:
var links = element[0].querySelectorAll('a');
console.log(links);
var links = element[0].querySelectorAll('a');
console.log(links);
选择器查询没有找到等待来自服务器的html数据到达
angular.module("myApp").directive('articleText', function() {
return {
restrict: 'E',
link: function(scope, element, attrs) {
//USE $watch
scope.$watch(attrs.ngBindHtml, function(value) {
var links = element.find('a');
console.log(links);
links.on('click', function(e) {
e.preventDefault();
window.open(this.href, "_system");
return false;
});
});
}
};
});
我得到一个空数组,用于:
var links = element[0].querySelectorAll('a');
console.log(links);
var links = element[0].querySelectorAll('a');
console.log(links);
选择器查询没有找到等待来自服务器的html数据到达
angular.module("myApp").directive('articleText', function() {
return {
restrict: 'E',
link: function(scope, element, attrs) {
//USE $watch
scope.$watch(attrs.ngBindHtml, function(value) {
var links = element.find('a');
console.log(links);
links.on('click', function(e) {
e.preventDefault();
window.open(this.href, "_system");
return false;
});
});
}
};
});