2017-02-16 6 views
1

JSFiddleでうまく動作するIntroJSデモがあります。 IntroJS、キャッチされていない参照エラー

私は私のアプリでそれをマージ

、ボタンリターン「IntroJSをテストするために私をクリックして」: Uncaught ReferenceError: intro is not defined at HTMLButtonElement.onclick

  • は、私が正しいIntroJS CSSをチェックし、JSライブラリがcodepen CDNによってロードされます。
  • 私は関数のスペルを確認しました。テストアラートボタンが正しくトリガされました..
  • 私は<body>と他のJSfiddleラッパーをCodepenのHTMLヘッドセクションで試しました。以前はCodepenからJSfiddleにスニペットを移動し、通常のエラーを認識しています。

私はそれが範囲の問題だと思いますが、私は次に何をすべきか分かりません。

JSがボタンはここにあるここでは、ラインで381

intro = introJs(); 
    intro.setOptions({ 
    'showStepNumbers': false 
    }); 
    intro.start(); 

function testAlert() { 
    alert("alert"); 
}; 

です:

<button onclick="intro.start();">Click me to Test IntroJS</button> 

full app is here、ボタンを半押ししている:

+1

codepenはここで動作します:http://codepen.io/mayank_shubham/pen/pRBPjr –

+0

スタンドアロンのcodepenとしても動作しますが、Shubhamの方がいいですが、私の大きなアプリケーションでコードをマージすると、ボタンもはや動作しません。 https://codepen.io/Teeke/pen/mRgWLg – RubyRube

+0

インラインイベントハンドラから 'intro.start()'を呼び出すときは、 'intro'オブジェクトがグローバルスコープに定義されているかどうかを確認する必要があります。たとえば、DOMContentLoadedコールバックにラップされます)。あなたの 'intro'オブジェクト(そして' start'関数と関連するコード)が実際のアプリケーションでどこに定義されているのかを表示できますか? – mrlew

答えて

2

codepen例の問題( https://codepen.io/Teeke/pen/mRgWLg)は、行355にJavaScriptエラーがあります。

setText(playButton, "Play");

変数playButtonは定義されていません。これにより、JavaScriptの残りの部分が機能しなくなります。 playButtonへのすべての参照をコメントアウトすると、intro.jsコードが期待通りに実行されました。

+0

あなたは本当に鋭い目を持っています:) –

+0

ありがとうclarmond、それは動作します。私は、コンソールにplayButtonエラーが表示されるのを見ましたが、私はそれをそのまま残すことができると考えました。私は、Javascriptプログラムのある領域の間違いが、スクリプトの別の部分で奇妙なエラーを引き起こす可能性があることを覚えておく必要があります。学んだ教訓。乾杯。 – RubyRube

関連する問題