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
어떤 조건에 따라 동적으로 설정할 수 있습니다.href
에ng-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
'sourcecode' 카테고리의 다른 글
형식 설명: 'react' 모듈을 찾을 수 없습니다. (0) | 2023.02.28 |
---|---|
Angularjs는 거부 체인을 약속합니다. (0) | 2023.02.28 |
PL/SQL 블록에서 SELECT 문을 출력할 수 있습니까? (0) | 2023.02.28 |
구텐베르크 커스텀 배너 블록 페이지 제목 사용 (0) | 2023.02.28 |
리액트 라우터돔을 사용할 때 '기능 구성 요소를 참조할 수 없음'을 방지하려면 어떻게 해야 합니까? (0) | 2023.02.28 |