2016-05-15 2 views
1

ボタンにクリックイベントを登録するスクリプトがあります。 ボタンをクリックしたときに実行される関数は、JSONリクエストをQuotes APIに送信し、Quote要素にランダムな引用符を付ける必要があります。Javascript:JSONリクエストは初めてのみ動作します

$("document").ready(function() { 
    $("#new-quote").on("click", newQuote()); 
}); 

function newQuote() { 
    $.getJSON("http://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1&callback=", function(a) { 
    $("#quote-paragraph").html(a[0].content); 
    $("#footer").html(a[0].title); 
    }); 
} 

これは私のコードの外観ですが、私はすでに別の解決策を試してみました。関数の最後にalert()ステートメントを追加して、関数が実行されるかどうかを調べました。まあ時々。私は数回それを試し、私はそれを試したときに別の結果を得た。私はcodepen.ioで働いています。ご協力いただきありがとうございます! 2行目に

答えて

6

$("#new-quote").on("click", newQuote()); 

あなたは、関数を実行してのonclickイベントにその結果を割り当てる代わりに、機能自体を割り当てています。だからあなたの関数はあなたが実際にそれを割り当てなかったので、あなたが割り当てをしたときに一度だけ実行し、もう一度実行しないのです。これを行う:

$("#new-quote").on("click", newQuote); 
+0

ありがとうございます。私はそれを試して、今すぐ機能を実行します。問題は、JSONリクエストがもう行われないということです。私はalert()を追加したので、それが私に警告を与えるが、私の見積もりに変更はないので、関数を実行することがわかります。 –

+0

コードを更新し、htmlマークアップを追加して、より多くの情報を得ることができますか?たぶん、codepenへのリンクを投稿するか、フィドルを作成する –

+0

Ok。私は今、新しいAPIを使用し、すべてうまくいきます。大いに感謝する。 –

関連する問題