2012-02-02 16 views
13

Bu benim ilk CoffeeScript işlevidir ve kullanıcının tıklama sonrasında Sayfamı yenilenmezse almak anlamaya edemez ve olay tetiklenir:Bu coffeescript'i nasıl yazabilirim, böylece sayfamı yenilemez mi?

jQuery -> 
    $(".answer_link").click -> 
    $val = $(this).attr 'id' 
    $id = $val.replace(/answer_link_/, '') 
    $input = "#new_answer_" + $id 
    $($input).toggle 'slow' 

teşekkürler!

cevap

23

Bu, jQuery veya JavaScript ile ilgili bir soru olduğunu düşünüyorum. bunu yapmak için .preventDefault() kullanabilirsiniz:

jQuery -> 
    $(".answer_link").click (event)-> 

    #like this 
    event.preventDefault() 

    $val = $(this).attr 'id' 
    $id = $val.replace(/answer_link_/, '') 
    $input = "#new_answer_" + $id 
    $($input).toggle 'slow' 

fazla bilgi hakkında preventDefault.

+0

Yani öyle .. teşekkür ederim! – Inc1982

+0

Rica ederim. – island205

+1

Sadece 'event' kelimesinin bir anahtar kelime olduğu anlaşılıyor, dolayısıyla bu bağlamda kullanmam. Olayı 'x' olarak değiştirin ya da bir şey. Bu kod gayet iyi çalışıyor ve ben sadece cs ile script'lere ulaşıyorum, ama 'event' bir anahtar kelimedir. – Starkers

0

Bunun gibi tıklama işlevi sonunda bir return false ekleyin:

jQuery -> 
    $(".answer_link").click -> 
    $val = $(this).attr 'id' 
    $id = $val.replace(/answer_link_/, '') 
    $input = "#new_answer_" + $id 
    $($input).toggle 'slow' 
    return false 
İlgili konular