我正在尝试添加一个工具提示,它会提取一些信息,但是,我在使用它时遇到了一些麻烦。当我尝试添加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设置在函数中添加的id?
答案 0 :(得分:0)
您的小部件在功能之前呈现。请参阅Kendo Fundamentals on Deferred。
更改小部件:
@(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>