JavaScript에서 URL로 이동하는 onclick 함수를 추가 하시겠습니까?


100

이 멋진 작은 자바 스크립트를 사용하여 사용자가 필드를 가리킬 때 필드를 강조 표시합니다. onclick링크 역할을하고 URL로 이동 하는 기능을 추가하는 방법이 있는지 알려주세요 .

<script>
         $(function() {
            $('tr').hover(function() {
                $(this).css('background-color', '#eee');
                $(this).contents('td').css({'border': '0px solid red', 'border-left': 'none', 'border-right': 'none'});
                $(this).contents('td:first').css('border-left', '0px solid red');
                $(this).contents('td:last').css('border-right', '0px solid red');
            },
            function() {
                $(this).css('background-color', '#FFFFFF');
                $(this).contents('td').css('border', 'none');
                $('a#read_message.php').click(function(){ URL(); });
            });
        });
        </script>

URL 값을 어떻게 얻습니까? 테이블 셀 중 하나의 링크입니까 아니면 모두 동일한 URL로 이동합니까
Renon Stewart

2
'# read_message.php'에 다소 이상한 ID가 있습니까?
Alex Gill

답변:


169

시험

 window.location = url;

또한 사용

 window.open(url);

새 창에서 열려면.


131

이것을 사용하십시오

onclick="location.href='pageurl.html';"

9
그러면 동일한 창에서 링크가 열리고 수락 된 답변은 새 창에서 열립니다. 나는이 대답의 접근 방식을 선호
해먼 사무엘

33

jquery에서 사용자를 다른 URL로 보내려면 다음과 같이 할 수 있습니다.

$("a#thing_to_click").on('click', function(){
     window.location = "http://www.google.com/";    
});

이 방법도 작동하지만 위의 방법은 요즘 더 정확한 방법입니다.

$("a#thing_to_click").click(function(e){
         e.preventDefault();
         window.location = "http://www.google.com/";    
});

11
function URL() {
    location.href = 'http://your.url.here';
}

8

HTML

<input type="button" value="My Button" 
onclick="location.href = 'https://myurl'" />

MVC

<input type="button" value="My Button" 
onclick="location.href='@Url.Action("MyAction", "MyController", new { id = 1 })'" />

6

새 탭에서 링크를 열려면 다음을 수행 할 수 있습니다.

$("a#thing_to_click").on('click',function(){
    window.open('https://yoururl.com', '_blank');
});

3

<a>태그를 다룰 때 기본값으로 이동하는 것을 중단 href하려면 this대신 사용해야 합니다.

기본 URL (yahoo)로 이동 :

<a href="https://yahoo.com" onclick="location.href='https://google.com';"> 

새 URL로 이동 (Google) onclick:

<a href="https://yahoo.com" onclick="this.href='https://google.com';">

사용 this하면 현재 브라우저 onclick이벤트를 중단하고 href기본 동작을 계속하기 전에 변경합니다.<a href='...


안녕하세요 @ Darvydas, 위의 코드는 예상대로 작동하지만 새로로드 된 URL에서 다른 이벤트를 수행하기 위해 페이지가로드 될 때까지 기다리는 방법은 무엇입니까?
FayazMd

@FayazMd 당신이 무엇을 하려는지 확실하지 않습니까? 일반적으로 a웹 페이지로 DOM 내부의 JavaScript (현재 DOM 요소 내부 ) 인 경우 다음 페이지 (브라우저 페이지를 리디렉션하는 위치)에서 JS 동작을 제어 할 수 없습니다. 사용자가 페이지를 나가면 완료됩니다. 두 번째 페이지도 제어하지 않는 한 각 사용자에 대한 페이지로드를 수신 document.referrer하고 올바른 사람인지 확인해야합니다. 또한 페이지 URL 변경을 수신 할 수있는 브라우저 용 확장 / 추가 기능과 같은 것을 사용하는 경우에는 또 다른 이야기가 될 수 있습니다.
Darvydas Šilkus

@Darvydas 안녕하세요, 답장을 보내 주셔서 감사합니다. 나는 다음과 같이 시도하고 싶다. 브라우저 콘솔에서 자체 실행 기능이있는 자바 스크립트를 사용하면 1) 내 웹 사이트 URL 중 하나를로드하고 2) 완전히로드 될 때까지 기다릴 수 있습니다. 3) 해당 웹 페이지에 필요한 테이블이 있습니다. 모든 행을 추출하십시오. 1 단계를 수행 할 수 있으며 이미로드 된 웹 사이트에있는 경우 콘솔에서 테이블 행을 추출 할 수 있습니다 (자바 스크립트 코드로). 그러나 위 단계에 대해 순차적으로 코드를 작성하려고하면 2 단계에서 실패합니다.
FayazMd

2

내가 그 질문을 완전히 이해하지는 못했지만, 이런 뜻인가요?

$('#something').click(function() { 
    document.location = 'http://somewhere.com/';
} );

예, 기본적으로 javascript는 사용자가 테이블 내용 / 정보를 스크롤 / 마우스를 이동할 때 테이블 필드를 강조 표시하도록 설정됩니다. 강조 표시된 필드를 클릭 할 수있는 것처럼 보이게하여 페이지에 연결되도록하고 싶습니다. 그게 더 의미가 있다면. 그렇지 않으면 죄송합니다.
John Taylor

해결했습니다. # 테이블을 표현하기 위해 tr에 넣는 대신 #을 사용하는 대신 ur 코드를 약간 수정했으며 작동했습니다. 감사합니다
존 테일러

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.