JavaScript'te url'ye gitmek için onclick işlevi mi ekliyorsunuz?


102

Bu süslü küçük JavaScript'i, kullanıcı üzerine geldiğinde bir alanı vurgulamak için kullanıyorum. onclickBağlantı görevi görecek ve bir URL'ye gidecek bir işlev eklemenin bir yolu olup olmadığını bana söyleyebilir misiniz ?

<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 değerini nasıl alabilirim, tablo hücrelerinden birinde bir bağlantı mı yoksa hepsi aynı url'ye mi gidiyor
Renon Stewart

2
Orada oldukça garip bir kimliğiniz var '# read_message.php'?
Alex Gill

Yanıtlar:


173

Deneyin

 window.location = url;

Ayrıca kullan

 window.open(url);

yeni bir pencerede açmak istiyorsanız.


131

Sadece bunu kullan

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

9
Bu, bağlantıyı aynı pencerede açarken, kabul edilen cevap yeni bir pencerede açılır. Bu cevabın yaklaşımını tercih ederim
Hamman Samuel

33

Jquery'de bir kullanıcıyı farklı bir URL'ye göndermek için bunu şu şekilde yapabilirsiniz:

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

bu da işe yarayacak ama yukarıdakiler bugünlerde bunu yapmanın daha yeni ve daha doğru yolu

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

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

9

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

Bağlantıyı yeni bir sekmede açmak isterseniz, şunları yapabilirsiniz:

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

3

Etiketle uğraşıyorsanız <a>ve varsayılana gitmeyi kesmek hrefistiyorsanız thisbunun yerine kullanmanız gerekir .

Varsayılan url'ye git (yahoo):

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

Yeni url'ye git (google) onclick:

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

Kullanarak this, mevcut tarayıcı onclickolayını kesintiye uğratır ve hrefvarsayılan davranışına devam etmeden önce<a href='...


Merhaba @Darvydas, yukarıdaki kod beklendiği gibi çalışıyor ancak yeni yüklenen url'de başka bir olay gerçekleştirmek için sayfa yüklenene kadar nasıl beklenir?
FayazMd

@FayazMd ne yapmaya çalıştığından emin değil misin? Genellikle a, bir web sayfası olarak DOM içinde (DOM öğesinin içinde geçerli olan) JavaScript ise, sonraki sayfadaki (tarayıcı sayfasını yeniden yönlendirdiğiniz yer) JS davranışını kontrol edemezsiniz. Kullanıcı sayfadan ayrıldığında biter. İkinci sayfayı da kontrol etmediğiniz sürece ve her kullanıcı için oradaki sayfanın yüklenmesini dinleyebilir document.referrerve doğru kişi olup olmadığını kontrol edebilirsiniz. Ayrıca, tarayıcı için sayfa URL değişikliklerini dinleyebilen bir uzantı / eklenti gibi bir şey kullanıyorsanız, bu başka bir hikaye olabilir.
Darvydas Šilkus

Merhaba @Darvydas, cevabınız için teşekkür ederim. Aşağıdaki gibi bir denemek istiyorum. tarayıcı konsolunda, javascript'i kendi kendine çalıştırma işleviyle kullanmak şöyle olabilir: 1) Web sitelerimden birinin url'sini yüklemek istiyorum ve 2) tamamen yüklenene kadar beklemek istiyorum 3) böylece, bu web sayfasının yapmam gereken bir tablo var tüm satırları çıkarın. 1. adımı gerçekleştirebilirim ve önceden yüklenmiş web sitesindeysem, konsolda tablo satırlarını çıkarabilirim (javascript kodunda). Ancak, yukarıdaki adımlar için sırayla kod yazmaya çalıştığımda, 2. adımda başarısız
oluyorum

2

Soruyu anladığımdan tam olarak emin değilim, ama böyle bir şey mi demek istiyorsun?

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

evet, temel olarak javascript, bir kullanıcı tablo içeriğini / bilgisini kaydırırken / gezinirken tablo alanlarını vurgulayacak şekilde ayarlanmıştır. vurgulanan alanın tıklanabilir gibi görünmesini ve böylece bir sayfaya bağlanmasını istiyorum. eğer bu daha mantıklıysa. yoksa özür dilerim.
John Taylor

çözüldü. # i kullanmak yerine sadece ur kodunu biraz uyarladım, tabloyu göstermek için tr koydum ve işe yaradı. teşekkürler
John Taylor

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.