Событие kendo toolTip не определено - PullRequest
0 голосов
/ 30 апреля 2018

Я пытаюсь добавить всплывающую подсказку, которая будет извлекать некоторую информацию, однако у меня возникли некоторые проблемы, заставляющие ее работать. Когда я пытаюсь добавить событие RequestStart или любое другое событие, я получаю сообщение об ошибке

"Uncaught ReferenceError: ShipScheduleDsTooltip_RequestStart is not defined"

Я не знаю, почему он не позволяет этот код. У меня в значительной степени один и тот же код в нескольких разных местах. Вот код, который получает ошибку.

@(Html.Kendo().Tooltip()
                    .For("#ShipSchedule-wrapper")
                    .Filter(".ShipSchedule-jobs-wrapper")
                    .LoadContentFrom("DesignSetTooltip", "ProductionOverview")
                    //.Content("toolTipTestContent")
                    .Position(TooltipPosition.Left)
                    .AutoHide(false)
                    .Width(600)
                    //.Height(300)
                    .ShowOn(TooltipShowOnEvent.Click)
                    .Events(events => events.RequestStart("ShipScheduleDsTooltip_RequestStart"))
                    //.Events(events => events.Show("onTap"))
        )

Вот ShipScheduleDsTooltip_RequestStart

function ShipScheduleDsTooltip_RequestStart(e) {
        e.options.data = {
            designSetId: e.target.data("designSetId")
        }
    }

Так что, если у кого-то есть идеи, я был бы очень признателен.

Редактировать Может ли быть так, что у меня есть всплывающая подсказка .For и .Filter для идентификаторов, которые добавляются в функцию?

1 Ответ

0 голосов
/ 30 апреля 2018

Ваш виджет отображается перед функцией. См. Основы кендо об отсрочке .

Измените свой виджет:

@(Html.Kendo().Tooltip()
                    .For("#ShipSchedule-wrapper")
                    .Filter(".ShipSchedule-jobs-wrapper")
                    .LoadContentFrom("DesignSetTooltip", "ProductionOverview")
                    .Position(TooltipPosition.Left)
                    .AutoHide(false)
                    .Width(600)
                    .ShowOn(TooltipShowOnEvent.Click)
                    .Events(events => events.RequestStart("ShipScheduleDsTooltip_RequestStart"))
                    .Deferred() // Defer script gen to below
        )

Тогда в вашем скрипте тег внизу:

<script type="text/javascript">

    function ShipScheduleDsTooltip_RequestStart(e) {
        e.options.data = {
            designSetId: e.target.data("designSetId")
        }
    }

    @Html.Kendo().DeferredScripts(false)    // Render the widget js here after the function

</script>
...