2009-05-27 34 views
0

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

感谢

回答

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来隐藏它们。

0

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

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"); 
+0

我还发现,每次调用渲染()方法后,你将需要隐藏的按钮;也许,你可以把这个代码放到一个函数中。 每次渲染后,默认的prev和next按钮将再次显示。 – Abe 2009-11-21 02:49:32