2016-04-12 28 views
1

Kodumu sınamak için temiz bir iş yeri yaptım. Kahvelerim burada yokken, önyükleme komut dosyaları sekmeler arasında geçiş yapabilirken, kahve metnini görüntülere bağlarsam, önyükleme komut dosyaları çalışmaya izin vermedi. Sadece kahvelerim işe yaradı. Tek bir işleyicinin bir etkinliğe bağlanması için herhangi bir neden bilmiyordum. Neler oluyor?Raylar 4 - Tıklatma etkinliğinde çoklu eylemciler Bootstrap çalışmıyor

# application.js 
//= require bootstrap 
//= require bootstrap-sprockets 
//= require jquery 
//= require jquery_ujs 
//= require turbolinks 
//= require_tree . 

# welcome_controller.rb 
class WelcomeController < ApplicationController 
    def index 
    end 

    def preview 
    @body = params[:raw_data] 
    @preview = "preview: " + @body + "..." 
    respond_to do |format| 
     format.json 
    end 
    end 
end 

# welcome.coffee 
window.Welcome = 
    hookPreview: (tab, textarea) -> 
    $(tab).bind "click", -> 
     Welcome.preview $(textarea).val() 
     return false 

$(document).ready -> 
    Welcome.hookPreview $("#preview-tab"), $("#edit") 

Ve görüşlerim: Önizleme sekmesinde

<ul class="nav nav-tabs"> 
    <li role="presentation" class="active"><a href="#home" data-toggle="tab">Home</a></li> 
    <li role="presentation"><a href="#edit" data-toggle="tab" id="edit-tab">Edit</a></li> 
    <li role="presentation"><a href="#preview" data-toggle="tab" id="preview-tab">Preview</a></li> 
</ul> 

<div class="container-fluid"> 
    <!-- panel for tabs --> 
    <div class="tab-content"> 
    <div class="tab-pane active" id="home">HOME</div> 
    <div class="tab-pane" id="edit"><textarea rows="20" class="form-control"></textarea></div> 
    <div class="tab-pane" id="preview">PREVIEW</div> 
    </div> 
</div> 

tıklayın benim kontrolöre veri gönderir, ama artık sekmeler arasında geçiş yok.

cevap

1

return true deneyin. Yanlış etkinlik yayılımını durdurur, bu yüzden bu olay ilk olarak çağrılırsa, başkaları olmaz.