Есть ли способ вызвать функцию начальной загрузки внутри кнопки или ссылки? - PullRequest
0 голосов
/ 30 января 2019

Я хотел бы вызвать функцию начальной загрузки, когда пользователь нажимает кнопку или ссылку с идентификатором "# tip-back-btn-1"

Есть ли способ, которым я могу просто вызватьНачальная функция загрузчика прямо в кнопке или ссылке?

Я хотел бы использовать что-то вроде этого:

<button class="tip-skip-button" id="tip-back-btn-1" onclick="tour.goTo(0);">Back</button> 

Я пытался вызвать

$("#tip-back-btn-1").click(function() {
    tour.goTo(0);
});

Но это не такt работа

Мой код начальной загрузки приведен ниже для справки

    'use strict';

        $(function () {
            var steps = [];
            var leadIndex = 0;
            function gensteps(index, div, message, placement, template) {

                var id = $(div).attr('id');

                if (id === undefined) {
                    //$(body).attr('id', 'id_' + leadIndex + '_' + index);
                    id = $(div).attr('id');
                }
                var step = {
                    element: '#' + id,
                    content: message,
                    placement: placement,
                    template: template,
                    backdropElement: '#client-activated-update-client-info'
                };
                steps.push(step);
            }


            leadIndex++;
            $('#contain').each(function (index, div) {
                var template = '<div class="popover" role="tooltip"> <div class="arrow"></div> <div class="popover-content"></div> <div class="popover-navigation"> <div class="btn-group-custom"> <button class="tip-skip-button" id="tip-back-btn-1">Back</button> </div> <button class="tip-exit" data-role="end">Exit</button> </div> </div>';
                gensteps(index, div, '<h3 class="tool-tip-title">Address</h3>\n    <div class="tip-content">\n    <p>lorem ipsum dolet</p>\n </div>\n ', 'top',template);
            });


            $("#tip-back-btn-1").click(function() {
                tour.goTo(1);
            });



            var tour = new Tour({
                steps: steps
            });tour.init();
            tour.start(true);
            tour.goTo(0);


    });

Мне кажется, проблема в том, что мой код кнопки подсказки определен слишком рано, а элемент DOM, имеющий идентификатор "кнопка", выполняетеще не существуетИли, может быть, весь мой код тура еще не загружен.

1 Ответ

0 голосов
/ 04 июля 2019

вы можете попробовать определить его вне функции

var tour = new Tour();
    $(function () {
tour = new Tour({
                steps: steps
            });tour.init();
            tour.start(true);
            tour.goTo(0);
}

, надеюсь, решит вашу проблему

...