sourcecode

ng-click을 사용할 때 '새 탭에서 열기'를 허용하는 방법은 무엇입니까?

copyscript 2023. 2. 28. 23:42
반응형

ng-click을 사용할 때 '새 탭에서 열기'를 허용하는 방법은 무엇입니까?

HTML 표가 있고 각 행은 다른 페이지로 연결되며 해당 행에 대한 자세한 내용이 표시됩니다.그러나 angularjs를 사용하고 있기 때문에 ng-click으로 이 행을 오른쪽 클릭하여 '새로운 탭에서 열기'를 선택할 수 없습니다.해결할 방법이 없을까요?

잘 부탁드립니다!

가능한 경우 요소를 앵커 요소로 변환해야 합니다.

<a ng-href="{{ your dynamic url }}" ng-click="your function">Your link text</a>

브라우저는 요소를 링크로 해석하여 올바른 드롭다운을 표시합니다.또한 새 탭에서 열려면 올바른 href 값이 있어야 합니다.

편집: JQuery를 사용하여 이러한 동작을 수정하는 방법에 대한 자세한 답변을 원하신다면 이 질문을 추천합니다.

ng-click 기능 내에서 호출할 수 있습니다.window.open(url, '_blank'), 경고의 의미로 브라우저와 현재 설정에 따라 달라집니다.

경우에 따라서는 팝업창으로 열리고, 새로운 탭으로 열리는 경우도 있습니다.javascript는 브라우저에 의존하지 않기 때문에 두 동작을 강제할 수 없습니다.새 창을 요청했을 뿐이며, 어떻게 구현할지는 브라우저에 달려 있습니다.탭이나 창을 강제하는 것에 대해서는, 여기를 참조해 주세요.

단, 오른쪽 클릭 옵션 또는 Ctrl+클릭을 사용하여 새 탭에서 열 수 있는 유일한 방법은 브라우저가<a>태그. 그렇지 않으면 링크로 처리되지 않습니다.

생성하려는 경우href어떤 조건에 따라 동적으로 설정할 수 있습니다.hrefng-mousedown이벤트, 그 후에는 어떤 이벤트도 수행할 수 있습니다.open link in new tab,open link in new window그리고.click.

HTML:

<a href="javascript:void(0)" ng-mousedown="openDetailView($event, userRole)">{{label}}</a>

JS:

  $scope.openDetailView = function (event, userRole) {
         if(userRole == 'admin') {
             jQuery(event.target).attr('href', 'admin/view');

         } else {
             jQuery(event.target).attr('href', 'user/view');

         }
  };

테이블 행 내부에 앵커 요소를 사용해야 합니다.

HTML

<tr>
    <a ng-href="dynamic url" ng-click="openItem($event)">Open the item</a>
</tr>

컨트롤러

$scope.openItem = function (event) {
    event.preventDefault();
    // code to open a item
}

언급URL : https://stackoverflow.com/questions/23069481/how-to-allow-open-in-a-new-tab-when-using-ng-click

반응형