【发布时间】:2017-01-04 07:58:12
【问题描述】:
我正在尝试将点击事件附加到锚标记(来自 ajax)并阻止默认重定向。我怎么能在 angular 中做到这一点?
<ul>
<li><a href="/abc"><p>abc</p></a></li>
<li><a href="/abc1"><p>abc1</p></a></li>
<li><a href="/abc2"><p>abc2</p></a></li>
<li><a href="/abc3"><p>abc3</p></a></li>
</ul>
在ts文件中:
constructor(elementRef: ElementRef, renderer: Renderer) {
this.listenFunc = renderer.listen(elementRef.nativeElement, 'click', (event) => {
event.preventDefault();
let target = event.target || event.srcElement || event.currentTarget;
console.log(target);
});
}
这会将事件附加到所有元素,如何将其限制为仅锚标记?
感谢所有帮助。
【问题讨论】:
-
您可以使用
event.target.nodeName了解触发了哪个 HTML 标记。 -
(click)='fn'可以用。 -
@jai 谢谢我无法操纵 ajax 响应我必须从 ts 文件处理它
-
看来你必须操纵你得到的 JSON。将其解析为对象;添加或更新属性,然后将更新的 JSON 分配给目标;也许这会给你一个提示:stackoverflow.com/questions/8702474/…
-
您能解释一下您是如何从 ajax 获取此 HTML 并将其插入到页面中的吗? AHAH (AJAX HTML) 曾经非常流行,即使在 Angularjs 1.x 中,许多模板也是在服务器端呈现的。只是还没有看到在现代 Angular 或 React 中使用 AHAH。
标签: angular anchor mouseclick-event