2017-05-26 214 views
1

我正在使用Kendo UI调度程序。仅在月视图中显示工具提示并在日视图上隐藏

将鼠标悬停在每个事件上时,我都会显示该特定事件的详细信息的工具提示。直到这里,一切都很好。

但是,我不想显示OnMouseOver工具提示为查看。我只想显示的工具提示月视图

我怎么只能显示在视图工具提示和禁用看法?

Demo

var _data = new kendo.data.SchedulerDataSource({ 
     data: [ { 
      eventID: 8, 
      title: "Group meeting.", 
      start: new Date(), 
      end: new Date(), 
      pending:false, 
      recurrenceRule: "", 
      recurrenceException: "", 
      description: "Take my brother to his group meeting.", 
      isAllDay:false, 
      ownTimeSlot:true, 
      careAssistantId: 5, 
      clientId: 6 
     },{ 
      eventID: 9, 
      title: "Make dinner.", 
      start: new Date("2013/06/13 11:00"), 
      end: new Date("2013/06/13 13:30"), 
      pending:true, 
      recurrenceRule: "", 
      recurrenceException: "", 
      description: "Make dinner for my mom.", 
      isAllDay:false, 
      ownTimeSlot:true, 
      careAssistantId: 5, 
      clientId: 6 
     } ], 
     schema: { 
      model : { 
       id : "eventID" 
      } 
     } 
    }); 

    function save(){ 
     console.log(_data);  
    } 

    $('#scheduler').kendoScheduler({ 
     date: new Date(), 
     startTime: new Date("2013/6/13 07:00 AM"), 
     height: 600, 
     views: [ 
      { type: "day", title: "Day" }, 
      { type: "month", selected: true }, 
     ], 
     save: save, 
     dataSource:_data 
    }); 

    $(function() { 
     $("#scheduler").kendoTooltip({ 
      filter: ".k-event", 
      position: "top", 
      width: 250, 
      content: kendo.template($('#template').html()) 
     }); 
    }); 



    <script id="template" type="text/x-kendo-template"> 
    #var uid = target.attr("data-uid");# 
    #var scheduler = target.closest("[data-role=scheduler]").data("kendoScheduler");# 
    #var model = scheduler.occurrenceByUid(uid);# 

    #if(model) {# 
     <strong>event start:</strong> #=kendo.format('{0:d}',model.start)#<br /> 
     <strong>event end:</strong> #=kendo.format('{0:d}',model.end)#<br /> 
     <strong>event description:</strong> #=model.description#<br /> 
    #} else {# 
     <strong>No event data is available</strong> 
    #}# 
</script> 

回答

1

这里的工作dojo例子。

我将showhide添加到配置。在show中,您只需决定是否要弹出工具提示。如果你想要的话,那就让它可见。

show: function(e){ 
    var scheduler = $('#scheduler').data('kendoScheduler'); 
    if(scheduler.viewName() === 'day'){ 
     this.content.parent().css("visibility", "visible"); 
    } 
}, 
hide:function(e){ 
    this.content.parent().css("visibility", "hidden"); 
}, 

同时,设置工具提示中默认情况下不可见的,因为你有你的逻辑定义show

.k-tooltip.k-popup{ 
    visibility: hidden; 
} 
+0

** @ MantasČekanauskas**,感谢您的回答......但我仍然有问题,因为** scheduler.viewName不是函数**这可能是因为我使用的版本是旧的(** 2014.3.1119 **)... ** http://dojo.telerik.com/EgOFa**请检查更新的演示url ... – Reddy

+1

@Reddy您可以使用'scheduler._selectedViewName'而不是'scheduler.viewName()' –

+0

** @ MantasČekanauskas**,就像一个魅力......我**接受**和** Upvoting **您的答案...非常感谢您的帮助 – Reddy