2009-05-27 32 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