내가 좋아하는 뭔가가있다.시뮬레이션 동작은
지금 나는 다음과 같은 코드를 사용합니다
$(function() {
$('tr').each(function() {
var tr = $(this);
if (tr.hasClass('no-row-link')) return;
var links = $('a', tr);
if (links.length != 1) return;
tr.addClass('row-link').click(rowLinkClick);
});
function rowLinkClick() {
var tr = $(this);
var links = $('a', tr);
if (links.length != 1) return;
window.location = links.attr('href');
}
});
을하지만 문제는,이 동작은 아주 좋은 작동하지 않습니다. 사용자는 새 탭에서 페이지를 열려면 일반 링크를 command-click 할 수 있지만 여기서는 사용할 수 없습니다. 사용자는 일반 링크를 마우스 오른쪽 버튼으로 클릭하여 링크 상황에 맞는 메뉴를 볼 수 있지만 여기에는 연결할 수 없습니다.
내가 원하는 것을 할 수있는 유일한 방법은 표 셀을 던져서 (th/td) 링크에 내용을 래핑하는 것입니다. 그런 다음 해당 링크가 display : block으로 작동하도록 만듭니다. 이것은 아주 우아한 해결책이 아닙니다. 거기에 다른 해결책이 있습니까?
우아함이 주관적으로 보입니다 ... 하향 투표에 댓글을달라고 신경을 씁니까? –
실제로이 방법은 링크를 시뮬레이션하는보다 우아한 방법이지만 사용자가 새 탭에서 링크를 열 수있는 상황에 맞는 메뉴를 표시하는 마우스 오른쪽 버튼 클릭 동작을 시뮬레이트하는 방법에 대한 실제 질문에는 대답하지 않습니다. – irruputuncu
Btw : 'contextmenu'이벤트와 사용자 정의 마크 업을 사용하여 시뮬레이션 된 태그에 대한 사용자 정의 컨텍스트 메뉴를 만들 수 있습니다 ([here] (http://stackoverflow.com/questions/4495626/making-custom-right-click 참조) -context-menus-for-my-web-app))에서''링크를 추가 할 수 있습니다. 그러나 이것은 많은 작업이 필요하고 새 탭 기능은 기본 컨텍스트 메뉴의 많은 옵션 중 하나입니다. 가장 깨끗한 방법은 여전히 ''태그의 셀을 감싸고 CSS를 사용하여 스타일을 올바르게 지정하는 것입니다. . – irruputuncu