Javascript angularjs trustAsHtml检测点击图像

Javascript angularjs trustAsHtml检测点击图像,javascript,angularjs,ionic-framework,Javascript,Angularjs,Ionic Framework,我是AngularJS的新手,看看你是否能帮我:) 我有一个包含活动描述的div。此内容是HTML格式的,因此我使用的是trustAsHTML: 您不想让$rootScope受到助手函数等的污染。它会长成一个毛茸茸的肉丸 实现目标的一种方法是使用指令: app.directive("myBooking",["$sce", function($sce) { return { restrict: 'E', scope: { booking: "=" },

我是AngularJS的新手,看看你是否能帮我:)

我有一个包含活动描述的div。此内容是HTML格式的,因此我使用的是trustAsHTML:


您不想让$rootScope受到助手函数等的污染。它会长成一个毛茸茸的肉丸

实现目标的一种方法是使用指令:

app.directive("myBooking",["$sce", function($sce) {
  return {
    restrict: 'E',
    scope: {
      booking: "="
    },
    template: "<div ng-click='click($event)' ng-bind-html='trustedHtml'></div>",
    link: function(scope, elem, attrs) {
      scope.trustedHtml = $sce.trustAsHtml(scope.booking.description);
      scope.click = function($event) {
        if($event.srcElement.tagName.toLowerCase() === 'img') {
           // do something if this is the image of interest...
        }
      }
    }
  };
}]);
app.directive(“myBooking”、[“$sce”、函数($sce){
返回{
限制:'E',
范围:{
预订:“=”
},
模板:“”,
链接:功能(范围、要素、属性){
scope.trustedHtml=$sce.trustAsHtml(scope.booking.description);
scope.click=函数($event){
if($event.srcElement.tagName.toLowerCase()='img'){
//如果这是感兴趣的图像,就做点什么。。。
}
}
}
};
}]);
假设预订对象是控制器的属性,在其scope use指令范围内

<my-booking booking="booking"></my-booking>


上面的指令假设img click事件将冒泡,换句话说,受信任的HTML不会使用img click事件。下面是一个演示该指令的示例

多谢各位!工作起来很有魅力。