<script>
$(document).ready(function(){
//Load City by State
$('#billing_state_id').live('change', function() {
//do something
});
$('#click_me').live('click', function() {
//do something
//need to recall $('#billing_state_id').live('change', function() { but how?
});
});
</script>
Load City by State fonctionne bien mais je ne sais pas s'il est possible ou non de l'appeler dans une autre fonction comme $('#click_me').live('click', function()
.
Je suppose que vous ne voulez pas relier l'événement, mais appelez le gestionnaire.
Vous pouvez utiliser trigger()
pour déclencher des événements:
$('#billing_state_id').trigger('change');
Si votre gestionnaire ne s'appuie pas sur le contexte de l'événement et que vous ne souhaitez pas déclencher d'autres gestionnaires pour l'événement, vous pouvez également nommer la fonction:
function someFunction() {
//do stuff
}
$(document).ready(function(){
//Load City by State
$('#billing_state_id').live('change', someFunction);
$('#click_me').live('click', function() {
//do something
someFunction();
});
});
Notez également que live()
est obsolète, on()
est le nouveau paramètre d'actualité.
enveloppez votre code partagé dans une autre fonction:
<script>
function myFun () {
//do something
}
$(document).ready(function(){
//Load City by State
$(document).on('change', '#billing_state_id', function() {
myFun ();
});
$(document).on('click', '#click_me', function() {
//do something
myFun();
});
});
</script>
Je pense que dans ce cas, vous voulez quelque chose comme ça:
$(window).resize(resize=function resize(){ some code...}
Maintenant, vous pouvez appeler resize () dans d’autres fonctions imbriquées:
$(window).scroll(function(){ resize();}