2012-09-27 4 views
1

dans mon index.html.erb je:fonction click() ne fonctionne pas [Rails 3.2 + jquery]

<button type="button" id="clean">Clean</button> 

Ce bouton est d'ajouter après par l'action "something.js.erb". Ainsi, application.js:

$(function() { 
    $('button#clean').click(function(){ 
     $('#target').remove(); 
    }); 
}); 

pourquoi ne fonctionne pas? Quand je mets ce script en HTML, c'est du travail.

Répondre

0

Faites-vous référence à votre fichier .js dans votre code HTML?

également Hit F12 pour vérifier toute erreur dans la section de la console

Si vous voyez aucune erreur puis essayez de joindre le gestionnaire d'événements à l'aide .on()

$('button#clean').on('click', function() { 
}); 
+0

Oui, par exemple:

0

Assurez-vous que votre chargement jQuery à l'avance et je suggère d'utiliser le code suivant

$('button#clean').on("click", function() { 
}); 
0

Je vérifierais votre console pour m'assurer qu'il n'y a pas d'erreur compris application.js et jQuery dans votre HTML.

index.html.erb

<script type="text/javascript" src="/js/jquery.js"></script> 
<script type="text/javascript" src="/js/application.js"></script> 

application.js

(function ($) { 
    $('button#clean').click(function() { 
    $('#target').remove(); 
    }); 
})(jQuery); 
+0

Ne semble pas rien dans la console. –

0

Si vous voulez la page js spécifiques à exécuter avant d'aller au index.html pour foo_controller puis faire

assets/javascripts/foo/index.js 

et de placer

$(function() { 
    $('button#clean').click(function(){ 
     $('#target').remove(); 
    }); 
}); 
1

Utilisez "sur la fonction" dans un format correct.

$(document).on('click', 'button#clean', function() { 
    $('#target').remove(); 
}); 
Questions connexes