在YUI日历标题中有改变当前月份的左/右箭头(链接)。 我希望能够禁用此链接的点击事件。 我尝试使用changePageEvent(),但它发生在月份发生变化后。 YAHOO.util.Event.removeListener似乎没有工作(也许我做错了)。YUI日历:如何禁用nextMonth点击
感谢
在YUI日历标题中有改变当前月份的左/右箭头(链接)。 我希望能够禁用此链接的点击事件。 我尝试使用changePageEvent(),但它发生在月份发生变化后。 YAHOO.util.Event.removeListener似乎没有工作(也许我做错了)。YUI日历:如何禁用nextMonth点击
感谢
如果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来隐藏它们。
您可能想禁用“nextMonth click”,因为您实际上想限制输入到顶部的某个日期。如果是这样,您应该可以使用日历API设置最大日期值。
您必须在日历呈现后更改样式。
我做了以下与上一个和下一个按钮不再显示:
...
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");
我还发现,每次调用渲染()方法后,你将需要隐藏的按钮;也许,你可以把这个代码放到一个函数中。 每次渲染后,默认的prev和next按钮将再次显示。 – Abe 2009-11-21 02:49:32