2017-05-28 7 views
0

HTML:Onclick hält Aufruf JavaScript-Funktion

<div class="container-fluid"> 
    <div class = "row text-center" align = "middle"> 
    <h2>Pseudo Random Quote Machine</h2> 
    </div> 
    <div class = "row text-center" align = "middle"> 
    <div class = "col-xs-12 well message" id = "quoting"> 
    </div> 
    </div> 
    <div class = "row text-center" align = "middle"> 
    <div class = "col-xs-12"> 
     <button id = "getMessage" class = "btn btn-primary"> 
     Get Random Quote 
     </button> 
     <button id = "tweet" class = btn btn-primary>Tweet this! 
     </button> 
    </div> 
    </div> 
</div> 

Javascript:

function randomQuotes() 
{ 
    //array of quotes 
    var quotes = [ "\"Operator! Give me the number for 911!\" - Homer J. Simpson", "\"I\'m normally not a praying man, but if you\'re up there, please save me Superman\" - Homer J. Simpson", "\"I\'m in no condition to drive...wait! I shouldn\'t listen to myself, I\'m drunk!\" - Homer J. Simpson", "\"A Degenerate, Am I? Well You Are A Festizo. See, I Can Make Up Words Too, Sister\" - Peter Griffen", "\"Victory Shall Be Mine!\" - Stewie Griffen", "\"He's a spy, blow him up. I'm gonna go take a shit.\" - Rick Sanchez", "\"Ohh yea, you gotta get schwifty. \" - Rick Sanchez", "\"Yo! What up my glip glops!\" - Rick Sanchez", "\"WUBBA LUBBA DUB DUBS!!! \" - Rick Sanchez", "\"Existence is pain to a meeseeks Jerry, and we will do anything to alleviate that pain.\" - Mr. Meeseeks", " \"It\'s morphine time\" - TheRussianBadger"]; 

    var randNum = Math.floor((Math.random() * quotes.length)); 
    document.getElementById("quoting").innerHTML = quotes[randNum]; 
} 

function tweetThis() 
{ 
    var tweetToShare = document.getElementById("quoting").innerHTML; 
    var tweetUrl = 'https://twitter.com/share?text=' + encodeURIComponent(tweetToShare) + "."; 
    window.open(tweetUrl); 
} 

document.getElementById("getMessage").onclick = function(){randomQuotes();} 
document.getElementById("tweet").onclick = function(){tweetThis();} 

Grundsätzlich ist jederzeit eine der beiden Tasten klicken Sie auf die Funktion immer und immer wieder aufgerufen werden immer wieder. Hier ist der Code running in Code Pen

ich meine Fragen erraten wäre:

  1. warum würden die Funktionen mehr als einmal aufgerufen werden?

  2. Was kann ich tun, um zu verhindern, dass die Funktionen mehrmals aufgerufen werden oder gar nicht mehr ausgeführt werden?

+0

Funktioniert gut auf Chrome 58. – yuriy636

+0

Ja, auch gut auf firefox 53. – Andreas

+0

@cancer, Sie sind absolut richtig. Vielen Dank. – manny

Antwort

1

Funktionen scheinen nur einmal auf Chrom aufgerufen werden. Vielleicht hat Ihr Browser ein altes Skript zwischengespeichert: maiusc + f5 to clean

+0

Eine häufige Art und Weise geschieht, wenn Sie Entwicklerwerkzeuge auf Chrom geöffnet haben und Ihre JS-Datei noch bearbeitet. Wenn Entwicklerwerkzeuge in Chrome geöffnet sind, können Sie das Caching aktivieren, indem Sie developtools -> network -> cache deaktivieren aktivieren –

Verwandte Themen