我不确定它是否因为我已将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()
,但除非我将其附加到窗口,否则我无法在刀片文件中使用它
答案 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");
})