Menambahkan fungsi onclick untuk membuka url di JavaScript?


100

Saya menggunakan JavaScript kecil yang mewah ini untuk menyorot sebuah bidang saat pengguna mengarahkan kursor ke atasnya. Bisakah Anda memberi tahu saya jika ada cara untuk menambahkan onclickfungsi yang akan bertindak sebagai tautan dan menuju ke 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>

Bagaimana cara mendapatkan nilai url, apakah itu tautan di salah satu sel tabel atau apakah semuanya pergi ke url yang sama
Renon Stewart

2
Anda memiliki ID yang agak aneh di sana '# read_message.php'?
Alex Gill

Jawaban:


169

Mencoba

 window.location = url;

Juga gunakan

 window.open(url);

jika Anda ingin membuka di jendela baru.


131

Cukup gunakan ini

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

9
Ini membuka tautan di jendela yang sama, sedangkan jawaban yang diterima terbuka di jendela baru. Saya lebih suka pendekatan jawaban ini
Hamman Samuel

33

Di jquery untuk mengirim pengguna ke URL lain, Anda dapat melakukannya seperti ini:

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

cara ini akan berhasil juga, tetapi cara di atas adalah cara baru yang lebih tepat untuk melakukannya saat ini

$("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

Jika Anda ingin membuka tautan di tab baru, Anda dapat:

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

3

Jika Anda berurusan dengan <a>tag, dan Anda ingin menginterupsi ke default, hrefAnda harus menggunakan thissebagai gantinya.

Buka url default (yahoo):

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

Buka url baru (google) onclick:

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

Dengan menggunakan thisAnda menyela onclickacara browser saat ini dan mengubah hrefsebelum melanjutkan ke perilaku default<a href='...


Hai @Darvydas, kode di atas berfungsi seperti yang diharapkan, tetapi bagaimana cara menunggu hingga pemuatan halaman untuk melakukan acara lain di url yang baru dimuat.?
FayazMd

@FayazMd tidak yakin apa yang Anda coba lakukan? Biasanya jika JavaScript di dalam DOM (saat ini di dalam elemen DOM a) sebagai halaman web Anda tidak dapat mengontrol perilaku JS di halaman berikutnya (di mana Anda mengarahkan halaman browser). Ketika pengguna meninggalkan halaman itu selesai. Kecuali Anda juga mengontrol halaman kedua, dan mungkin mendengarkan pemuatan halaman di sana untuk setiap pengguna dan memeriksa document.referreruntuk mengetahui apakah itu orang yang tepat. Selain itu, mungkin lain cerita jika Anda menggunakan sesuatu seperti ekstensi / add-on untuk browser yang dapat mendengarkan perubahan URL halaman.
Darvydas Šilkus

Hai @Darvydas, terima kasih atas balasan Anda. Saya ingin mencoba sebagai berikut. di konsol browser, menggunakan javascript dengan fungsi self executing mungkin 1) Saya ingin memuat salah satu url situs web saya dan 2) ingin menunggu sampai benar-benar dimuat 3) sehingga, halaman web tersebut memiliki tabel yang saya perlukan untuk ekstrak semua baris. Saya dapat melakukan langkah 1 dan jika saya berada di situs web yang sudah dimuat maka di konsol saya dapat mengekstrak baris tabel (dalam kode javascript). Namun, ketika saya mencoba menulis kode secara berurutan untuk langkah-langkah di atas, gagal pada langkah 2.
FayazMd

2

Tidak sepenuhnya yakin saya memahami pertanyaannya, tetapi apakah maksud Anda sesuatu seperti ini?

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

ya, pada dasarnya javascript diatur untuk menyorot bidang tabel saat pengguna menggulir / mengarahkan kursor ke konten / informasi tabel. saya ingin membuatnya tampak seperti bidang yang disorot dapat diklik sehingga ditautkan ke halaman. jika itu lebih masuk akal. maaf jika tidak.
John Taylor

menyelesaikannya. hanya mengadaptasi sedikit kode ur daripada menggunakan # i dimasukkan ke tr untuk mewakili tabel dan berhasil. terima kasih
John Taylor

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.