2013-07-09 3 views
2

Je crée une table cliquable mais quand j'ajoute setInterval pour recharger cette table tous les 1000, l'événement click cessera de fonctionner. Voici le code:Javascript: ne fonctionne pas lorsque combiner JQuery cliquez avec setInterval

JQuery & Javascript pièces:

<head> 
    <script type="text/javascript"> 
    //Set the timer 
    var myTimer = setInterval(function(){showTableContent(),1000}); 

    //Add click 
    $(document).ready(function() { 
     var idForTableRowInfor = "#" + $("div div div table").attr('id'); 
     $(idForTableRowInfor).click(function() { 
      alert('row was clicked'); 
     }); 
    }) 

    //Function of showTableContent() 
    function showTableContent() 
    { 
     var body = plugin().USBInforArray; //Call FireBreath plugin 
     document.getElementById('tableInfor').innerHTML = body; 
    } 
    </script> 
</head> 

parties HTML:

... 
<div id="wrapper"> 
    <div class="mainContent"> 
     <div id="USBDetectingTable" align="center"> 
      <table id="tableInfor" border="1"> 
      </table> 
     </div> ... 

Quand je me débarrasser de tout setInterval fonctionne bien, mais aussi longtemps que j'ajouter dans cette fonction , il arrête d'appeler l'événement click. Merci !!!

Répondre

1
var myTimer = setInterval(function(){showTableContent(),1000}); 

devrait être

var myTimer = setInterval(function(){showTableContent()},1000); 
4

Le clic ne fonctionne plus parce que vous supprimez les lignes et le clic n'y est plus.

Renseignez-vous sur la puissance de .on(events [, selector ] [, data ], handler(eventObject))

$("#tableInfor").on("click", idForTableRowInfor, function() { 
     alert('row was clicked'); 
}); 
+0

Merci cela fonctionne bien !! –

+1

Et l'autre a obtenu la réponse sélectionnée? yikes. – epascarello

Questions connexes