【发布时间】:2017-02-18 19:17:09
【问题描述】:
使用在this 帖子上创建的 angular 指令 Max 可以轻松导入 SVG,我已经在我的页面上导入了一些 SVG。我现在想向 SVG 添加一个点击事件,除了该指令不会将点击方法传输到导入的 SVG。如果我在浏览器中检查 SVG,我发现它确实缺少 ng-click。
HTML
<svg-image class="svg foo" src="img/foo.svg" ng-click="bar()"></svg-image>
JS
$scope.bar = function() {
console.log("click");
};
如果我将ng-click="bar()" 移动到页面上的另一个元素,它就可以正常工作。我还尝试将ng-click="bar()" 移动到无效的svg 文件本身,并且我尝试执行this 帖子中建议的操作,但也无效。
【问题讨论】:
-
你能创建一个 plunkr/fiddle 吗?
-
好的,给我几分钟。
-
您可以尝试将
ng-click指令添加到svg-image周围的包装元素中? -
@PankajParkar 我在帖子中添加了一个 plunker。
-
@JosephWebber 因为您使用了
replaceWith,它将当前元素替换为svg(当您将其替换为内部内容时,父点击事件消失)。你可以用 append 代替,看看this plunkr
标签: angularjs svg angularjs-directive