2010-08-26 8 views
0

Fondamentalement, lorsque je clique sur un bouton je veux appeler une fonction et exécuter le bouton clic fonction:jQuery - Cliquez sur la fonction d'appel et cliquez sur la fonction

Cette jQuery fonctionne quand le chargement de la page:

jQuery(document).ready(function ($) { 
    $('ul li:first-child').addClass('first_item'); 
    className = $('.first_item').attr('id'); 
    alert('Date is:'+ className +'.'); 
}); 

Et ce jQuery fonctionne lorsque le bouton est cliqué:

jQuery(document).ready(function ($) { 
    $('.button').click(function() { 
     $('.tweets ul').prepend($('.refreshMe').html()); 
    }); 
}); 

Je veux faire aussi bien lorsque le bouton est cliqué, comment puis-je combiner les deux?

PP:

Et si je voulais ajouter une autre fonction dans le mélange, tous courir ensemble:

$(".refreshMe").everyTime(5000,function(i){ 
     $.ajax({ 
      url: "test.php?latest="+className+"", 
      cache: false, 
      success: function(html){ 
      $(".refreshMe").html(html); 
      } 
     }) 
    }) 

Répondre

2

Placez le code qui fonctionne sur la charge de la page dans une fonction qui est appelée à la fois situations.

// Place all the code in one .ready() function instead of two. 
jQuery(document).ready(function ($) { 

     // Place your code in its own function 
    function initialize() { 
     $('ul li:first-child').addClass('first_item'); 
     className = $('.first_item').attr('id'); 
     alert('Date is:'+ className +'.'); 
    } 

     // Call the function on page load 
    initialize(); 

    $('.button').click(function() { 
     $('.tweets ul').prepend($('.refreshMe').html()); 
      // Call the function in the click handler 
     initialize(); 
    }); 
}); 
0

utiliser une fonction séparée, comme ceci:

function doThings() { 
    $('ul li:first-child').addClass('first_item'); 
    className = $('.first_item').attr('id'); 
    alert('Date is:'+ className +'.'); 
} 

$(document).ready(function() { 
    doThings(); 
    $('.button').click(function() { 
     $('.tweets ul').prepend($('.refreshMe').html()); 
     doThings(); 
    }); 
}); 
Questions connexes