2016-04-12 17 views
0

Bu kodu vardır im nerede kalmak gerekir: Ben jquery tıklayın Sayfanın en üstüne bana getir ŞimdijQuery tıklama sayfanın üst getiriyor ama ben

$('.bidbutton').on("click", function() { 

    $('.addOffer').hide(); 

    $('.preko').show(); 
     var i = $(this).attr('klik'); 
     $('.i'+i).hide(); 
     $('.j'+i).show(); 
}); 

ama nerede kalmalısın duyuyorum.

Ben

$('.bidbutton').on("click", function() { 

    $('.addOffer').hide(); 

    $('.preko').show(); 
     var i = $(this).attr('klik'); 
     $('.i'+i).hide(); 
     $('.j'+i).show(); 
     evt.preventDefault(); 
}); 

deneyin ama dont iş ... Nasıl bu sorunu çözmek için?

Soru güncelleme: İşte

<div class="row preko i2" index="2" style="border-bottom-width: 5px; border-bottom-style: solid; border-bottom-color: rgb(255, 255, 255); display: none;"> 
    <div class="col-md-2 col-xs-2" style=" background: #f4f4f4; "> 
     <h3 class="text-center">20.</h3> 
     <p class="text-center">Apr</p> 
    </div> 
    <div class="col-md-8 col-xs-8 text-center"> 
     <h3>$55</h3> 
     <p>current bid</p> 
    </div> 
    <div class="col-md-2 col-xs-2" style=" margin-top: 25px; "> <a href="#" klik="2" class="btn btn-info btn-lg bidbutton pull-right">Bid Now</a> </div> 
</div> 
<div class="row addOffer j2" style="display: block;" index="2"> 
    <div class="col-md-2 col-xs-2" style=" background: #f4f4f4; "> 
     <h3 class="text-center">20.</h3> 
     <p class="text-center">Apr</p> 
    </div> 
    <div class="col-md-10" style="margin-top:10px;"> 
     <form method="POST" action="http://localhost:8888/offers" id="target" accept-charset="UTF-8"> 
     <input type="hidden" name="_token" value="BWSwRnV8diq3QEF5FKcRa0ThWpBODKSMAlwEWZEH"><input name="article_id" type="hidden" value="8"><input name="start" class="hstart" type="hidden" value="04/20/2016 12:00 am"><input name="provera" class="provera" type="hidden" value="522"> 
     <div class="input-group bootstrap-touchspin" style="padding:10px;"> 
      <span class="input-group-btn"><button class="btn btn-default bootstrap-touchspin-down" type="button">-</button></span><span class="input-group-addon bootstrap-touchspin-prefix" style="display: none;"></span><input id="price" type="text" class="form-control price input-lg" name="price" value="55" style="display: block;"><span class="input-group-addon bootstrap-touchspin-postfix" style="display: none;"></span> 
      <div class="input-group-btn"><button class="btn btn-default bootstrap-touchspin-up" type="button">+</button><button type="submit" class="btn btn-info input-lg okvir">PLACE BID</button></div> 
     </div> 
     </form> 
    </div> 
</div> 

html kodu ile sorgulamak benim güncelleme ve ...

click olay dinleyicisi için Etkinlik işleyici işlevi ilk argüman, eksik
+1

Sen işleve 'evt' geçmesi gerekir. Örneğin. $ ('. bidbutton'). on ("tıklayın", function (evt) {'. Bkz. [event.preventDefault()] (https://api.jquery.com/event.preventdefault/). Bize bir çalışma örneği göstermek için HTML'nizi eklemeniz yararlı olur – showdev

+0

evet cevabın anlamı – Andrew

cevap

4

jQuery Event Object. İşte

$('.bidbutton').on("click", function(evt) { 
    evt.preventDefault(); 
    // do stuff 
} 

.click() olay dinleyici üzerinde docs şunlardır: Bu hizmeti kullanmak için işlevini değiştirmek gerekir. İşleyici işlev formatına dikkat edin.

eventObject bağımsız değişkeni, olayla ilgili bir şeyler yapmanız gerektiğinde bir işleyici işlevinde isteğe bağlıdır. eventObject öğesini istediğiniz herhangi bir değere atayabilirsiniz ve çoğu zaman kod örneklerinde e, evt veya event'u görürsünüz. o formu göndererek ve sayfayı yeniden edilir bu button sahiptir type="submit" yana

<button type="submit" class="btn btn-info input-lg okvir">PLACE BID</button> 

: belirli düğmeye durumda, bu tahmin ediyorum size tıklama işleyicisi atıyorsanız .bidbutton unsurdur. evt.preventDefault() ekleyerek, bu davranışı değiştiriyorsunuz, ancak bu, formunuzu sunucunuza göndermek için JavaScript kullanmanız gerektiği anlamına da gelir. Bunu yapmak için docs numaralı telefonu jQuery.ajax() numaralı telefona veya MDN's guide to Ajax'a başvurunuz.

+1

Bunun neden gerekeceğini vurgulamak da yararlı olacaktır – DinoMyte

+0

Bu düğmenin ne işe yaradığı konusunda daha fazla bağlam olmadan yararlı olacağına katılıyorum varsayılan olarak, varsayılan nedenlerin nasıl önleneceğini bilmiyorum .. – metame

+1

Bunun nedeni, düğmenin yazı tipi olması durumunda, formu sunucuya gönderir. Bu, bu düğmenin varsayılan davranışıdır: Preventdefault temel olarak bu davranışı engeller. – DinoMyte

1

Basitçe şöyle işleve evt geçmesi:

function(evt) 
İlgili konular