附加到窗口时,intro.js回调没有触发 - Laravel

时间:2018-02-09 03:11:20

标签: javascript laravel intro.js

我不确定它是否因为我已将intro.js附加到window但是它自己的游览和函数工作(.start() .exit()等)但是回调函数不是射击。

我正在使用Laravel 5.5,因此在我的app.js文件中得到了编译,我有:

import introJs from 'intro.js/intro.js';

window.introJs = introJs;

然后在我的刀片模板中

@section('js')

<script type="text/javascript">

  var doneTour = localStorage.getItem('doneTour') === 'yeah!';

  if (!doneTour){
    window.introJs.introJs().start();
  } 

  // add a flag when we're done
  window.introJs.introJs().oncomplete(function() {
    alert("end of introduction");
  });

  // // add a flag when we exit
  window.introJs.introJs().onexit(function() {
    alert("exit of introduction");
  });


</script>

@endsection

我在刀片中使用的脚本是在app.js之后注入的。我没有错误和初始window.introJs.introJs()。start();工作和旅游开始。但是当我退出或完成它时,其他功能不会触发。这与Laravel有关还是使用window

我尝试过使用introJs.introJs.start(),但除非我将其附加到窗口,否则我无法在刀片文件中使用它

1 个答案:

答案 0 :(得分:0)

由于某些原因,它不在文档中,但在某些情况下,您需要使用introJs。()一个变量来使回调起作用。

var doneTour = localStorage.getItem('doneTour') === 'yeah!';

  var intro = window.introJs.introJs();

  if (!doneTour){
    intro.start();
  } 

  // add a flag when we're done
  intro.oncomplete(function() {
    alert("end of introduction");
  });

  // // add a flag when we exit
  intro.onexit(function() {
    alert("exit of introduction");
  })