gpt4 book ai didi

javascript - 将 href 与 ng-click 一起使用

转载 作者:行者123 更新时间:2023-11-30 11:50:39 25 4
gpt4 key购买 nike

我有一个链接应该调用一个 $scope-function 来显示另一个 View 。

但我也希望用户可以右键单击该链接并将其打开到新窗口或将其添加为书签。

所以这是(非工作)html:

<a ng-click="OpenSubsite(singleitem.Id)" href="{{GetUrl(singleItem.Id)}}">{{singleItem.Title}}</a>

Controller 包含以下代码:

$scope.OpenSubSite=function(id) {
$scope.LoadItem(id);
}
$scope.GetUrl=function(id) {
return "showitem.html#id="+id;
}

这两种方法都可以正常工作。只是不是我想要的组合。我希望在单击该 URL 时调用“OpenSubSite()”,但在右键单击(“在新选项卡中打开”或“添加到收藏夹”)时调用“GetUrl() "- 应该改用 Returnvalue。

但是使用这段代码,即使在单击鼠标左键时,GetUrl() 中的 URL 也始终会打开,

有什么办法可以做到这一点吗?

最佳答案

当您触发 ng-click 时,您必须阻止默认操作。您可以通过传递 $event object of the ng-click directive 来做到这一点:

<a ng-click="OpenSubsite($event, singleitem.Id)">..</a>

然后在 Controller 中:

$scope.OpenSubSite = function(ev, id) {
ev.preventDefault(); // prevent it opens default

$scope.LoadItem(id);

return false;
}

关于javascript - 将 href 与 ng-click 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39594674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com