May I know if there are any config to prevent people from clicking on the links on the calendar view of a SharePoint 2007? (e.g. In the picture below, there are 3 links such as "Meeting with Contoso manager". I don't want anyone to click on these links.)

Note: They can still click on other "menu" links such as "Day", "Week" and "Month".

enter image description here


Try using the Calendar Plugin from this website: http://www.queness.com/post/656/10-beautiful-jquery-and-mootool-calendar-plugins.

Inside the website, there are a few JQuery Calendar Plugin (such as FullCalendar and JCalendar) that you can use in conjunction with your List.

  • -1 Almost completely irrelevant, I'm afraid. – Stu Pegg Nov 9 '11 at 15:17
  • Hi Stuart, the asker is looking for ways to prevent users to click the events on the calendar. There are basically 2 ways, one offer by Amit (which the asker is finding difficulties to get it working as discussed in the comments above). The another method is using SPServices, retrieve all the events and store into a array. Then use one of the JQuery Calendar Plugin to show those events. I do not know if the asker know how to use a JQuery plugin but at the least, I offer the asker another alternative method and hopeful, it helps. – Anderson Karu Nov 10 '11 at 1:00
  • Thanks Anderson. Tried the JQuery Calendar Plugin - Full Calendar and now is working to what I asked for. Also Thanks everyone for providing solutions and help for my question. – Larry Morries Nov 16 '11 at 9:31

There is no setting to prevent the hyperlink click for calendar in Moss.

But you can do it with JQuery. You can disable individual links or all links in the calendar div.

Check out this link to find how to disable a link :


  • after reading the link you provided, may I know how (or where) do I insert the following code into the SharePoint 2007 page? (Do I need to use a webpart to insert the code or ...?) $('#MontlyViewDefault_CalendarView').click(function(e) { e.preventDefault(); }); – Larry Morries Nov 1 '11 at 1:26
  • You can insert the code to the master page or the individual page (using SharePoint Designer). You can also add content editor webpart on the page and insert it in the webpart. Ensure that you also have jquery library reference before the script. – Amit Kumawat Nov 1 '11 at 3:34
  • Strange, I am still able to click each of the items in the calendar even though I have [1] import jquery library reference and [2] insert my code into the javascript tag. Any insight? – Larry Morries Nov 1 '11 at 3:49
  • You should construct correct jquery for that. Use this one: $(document).ready(function(){ $('#MontlyViewDefault_CalendarView a').attr("href","#"); $('#MontlyViewDefault_CalendarView a').attr("onclick",""); }); – Amit Kumawat Nov 1 '11 at 6:35
  • Strange, I am still able to click on each of the link even I used your jquery. I put it insider <asp:Content ContentPlaceHolderId="PlaceHolderAdditionalPageHead" runat="server"> tag, is it correct or I have to put in other tag? – Larry Morries Nov 1 '11 at 6:44

I already found solution. In case if some one else want use here is the JavaScript code:

<script type="text/javascript" src="/_layouts/js/jquery-1.6.1.js"></script>
 <script type="text/javascript">
    function MyCalendarHook() {     
    var _patchCalendar = function() {        
        $('.ms-acal-rootdiv .ms-acal-item').click(function (e) {
            //var itemId = $('a', $(this)).attr('href').split('?ID=')[1];
            //alert('Item with ID ' + itemId + ' was clicked!');

    var _onItemsSucceed = SP.UI.ApplicationPages.CalendarStateHandler.prototype.onItemsSucceed;
    SP.UI.ApplicationPages.CalendarStateHandler.prototype.onItemsSucceed = function($p0, $p1) {
        _onItemsSucceed.call(this, $p0, $p1);

Just paste this code in PlaceHolderBodyAreaClass tag.

You can also refer this link http://mhusseini.wordpress.com/2012/05/18/handle-clicks-on-calendar-items-in-sharepoint-2010-with-javascript/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.