Javascript angularjs在我的活动中单击并href
您好,我的md列表中有此问题我有ng单击命名getDocument这将出现一个包含文档的对话框。但在我的生命中,我有了满足。包含类似href的html标记。范例 废话废话 现在的问题是,当我单击链接时,它将进入新选项卡并打开对话框 如何确定用户是否单击href或md listitem以便显示对话框Javascript angularjs在我的活动中单击并href,javascript,html,angularjs,Javascript,Html,Angularjs,您好,我的md列表中有此问题我有ng单击命名getDocument这将出现一个包含文档的对话框。但在我的生命中,我有了满足。包含类似href的html标记。范例 废话废话 现在的问题是,当我单击链接时,它将进入新选项卡并打开对话框 如何确定用户是否单击href或md listitem以便显示对话框 md-list md-list-item.md-2-line ng-repeat="document in ctrl.documents" div.md-list-item-text ng
md-list
md-list-item.md-2-line ng-repeat="document in ctrl.documents"
div.md-list-item-text ng-click="ctrl.getDocument($event, document)"
span ng-bind-html="(document.content | trustedHtml)"
据我所知,链接是在您的范围内呈现的,但当您单击它时,它会将您发送到另一个选项卡并仍然打开对话框 您的链接仍然是其到父对象的单击事件,因此您应该做的是将单击事件移动到另一个不包含链接的标记,或者向链接添加事件。stopPropagation:
@getDocument = (ev, document) =>
console.log ev
或者,您还可以检查触发单击事件的元素。例如,由于您的主要问题是链接,因此可以在getDocument函数中执行以下操作:
md-list
md-list-item.md-2-line ng-repeat="document in ctrl.documents"
div.md-list-item-text
button ng-click="ctrl.getDocument($event, document)"
span ng-bind-html="(document.content | trustedHtml)"
我想保留我的ng click是否有机会在click event中确定它们???您可以将其保留在那里,但正在生成的链接需要有一个StopperPogation。如果我没有弄错的话,您也可以检查是哪个对象触发了事件,所以您可以在getDocument函数中检查它。我个人不推荐它,因为它可能会变得一团糟,但它会起作用。我会在我的答案上增加它。我检查event.target,但我看不到标记名我得到的跨度不是“a”,我不知道,但这对我来说很有用。你能帮我检查一下吗?如果event.target.attributeStyleMap.size=2.
md-list
md-list-item.md-2-line ng-repeat="document in ctrl.documents"
div.md-list-item-text
button ng-click="ctrl.getDocument($event, document)"
span ng-bind-html="(document.content | trustedHtml)"
ctrl.getDocument = function (event, document) {
if (event.target.tagName === 'A') {
return;
}
// your code
}