YUI日历:如何禁用nextMonth单击

时间:2009-05-27 07:16:44

标签: javascript yui

在YUI日历标题中,有左/右箭头(链接)可更改当前月份。 我希望能够禁用此链接的点击事件。 我尝试使用changePageEvent()但它发生在月份更改后。 YAHOO.util.Event.removeListener似乎没有用(也许我做错了)。

感谢

3 个答案:

答案 0 :(得分:1)

如果changePageEvent()触发太晚,为什么不采取简单的方法?将以下内容添加到样式表中,按钮将根本不显示:

.yui-calendar .calnavleft, .yui-calendar .calnavright{ display:none; }

如果这不是您想要的,您可以使用以下方式删除事件:

YAHOO.util.Event.removeListener(yourCalendarObject.linkLeft,'click');
YAHOO.util.Event.removeListener(yourCalendarObject.linkRight,'click');

但是,按钮仍会显示,因为YUI在这些链接上使用了“#”的href,您的页面将跳转到顶部。你需要应用一些CSS来隐藏它们。

答案 1 :(得分:0)

您可能希望禁用“nextMonth click”,因为您实际上希望将输入限制在顶部的某个日期。如果是这样,您应该能够使用日历API设置最大日期值。

答案 2 :(得分:0)

渲染日历后,您必须更改样式。

我做了以下操作,上一页和下一页按钮不再显示:

...

companyCalendar.render();

...

var Dom = YAHOO.util.Dom;
var navLeft = Dom.getElementsByClassName("calnavleft", "a", "companyCalendarContainer")[0];
var navRight = Dom.getElementsByClassName("calnavright", "a", "companyCalendarContainer")[0];

// hide the existing nav buttons
Dom.setAttribute(navLeft, "style", "display: none");
Dom.setAttribute(navRight, "style", "display: none");