Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击事件赢得';点击就不会触发?_Javascript_Angular_Dom_Svg - Fatal编程技术网

Javascript 单击事件赢得';点击就不会触发?

Javascript 单击事件赢得';点击就不会触发?,javascript,angular,dom,svg,Javascript,Angular,Dom,Svg,我有以下html(angular 5组件中的模板): 正如预期的那样,此逻辑工作正常-当组件加载时,我会为视图中组件的每个实例记录单击… 但是,只要我将事件从'load'更改为'click',单击svg不会触发任何事件 知道为什么吗 更新: 如链接问题中所述,以下html也不会触发单击事件: <div class="center" (click)="onClick()"> <object id="img" (click)="onClick()" data="assets

我有以下html(angular 5组件中的模板):

正如预期的那样,此逻辑工作正常-当组件加载时,我会为视图中组件的每个实例记录
单击…

但是,只要我将事件从
'load'
更改为
'click'
,单击svg不会触发任何事件

知道为什么吗

更新:
如链接问题中所述,以下html也不会触发单击事件:

<div class="center" (click)="onClick()">
    <object id="img" (click)="onClick()" data="assets/img/big_layout.svg" #svg></object>
</div>


这是一个砰的一声

奇怪的是,它在你的项目中不起作用,可能是因为新的angular 5版本

您可以通过直接在模板上绑定
(单击)
事件来实现所需:

<div class="center">
    <object id="img" data="assets/img/big_layout.svg" (click)="onClick()"></object>
</div>
编辑:
对象标记类似于iframe,出于安全目的无法访问它们

为什么不在你的
对象上使用
(单击)
事件
div?@Flow我以前试过,但没用。。。看到这个你是怎么尝试使用它的吗?html:
ts:
clickerFunction(){console.log('Clicked…');}
Object'cannot'cannot'cannot'cannot'cannot'cannot Clicked:查看这个答案和注释:如链接问题中所述,对象中既没有
(click)
,也没有div工作……哦,对不起,看不到它!因此,这是一个奇怪的部分,重复评论中的内容(以及其他帖子中的内容),这个答案是不正确的,因为编辑是针对第一部分的
<div class="center" (click)="onClick()">
    <object id="img" (click)="onClick()" data="assets/img/big_layout.svg" #svg></object>
</div>
<div class="center">
    <object id="img" data="assets/img/big_layout.svg" (click)="onClick()"></object>
</div>
onClick() {
    console.log('Clicked');
}