jquery - jQuery 中的单击事件和鼠标右键单击

标签 jquery fullcalendar right-click

单击鼠标右键时是否会触发单击?我想实现一个带有完整日历的右键单击菜单,但它只有 dayClick 事件,我认为只有单击鼠标左键时才会触发该事件。我在想类似的事情

dayClick: function(date, allDay, jsEvent){
    if (jsEvent.button === 1){
         //show menu
    }else{
        //do something with day
    }
}

但是单击鼠标右键时不会触发 dayClick....还有其他想法吗?

最佳答案

尝试将 mousedown 绑定(bind)到 eventRender 事件中的每个 FullCalndar 事件:

var events_array = [{
    title: 'Test1',
    start: new Date(2013, 11, 20)
}, {
    title: 'Test2',
    start: new Date(2013, 11, 21)
}];

$('#mycalendar:not(".fc-event")').on('contextmenu', function (e) {
    e.preventDefault()
})

$('#mycalendar').fullCalendar({
    events: events_array,
    header: {
        left: 'prevYear,prev,next,nextYear today',
        center: 'title',
        right: 'month,agendaWeek,agendaDay'
    },
    eventRender: function (event, element) {
        element.bind('mousedown', function (e) {
            if (e.which == 3) {
                alert('Right mouse button pressed');
            }
        });
    }
});

您可以禁用页面上的右键单击,并让它仅对事件起作用:

$('#mycalendar:not(".fc-event")').on('contextmenu', function(e){ e.preventDefault() })

演示:http://jsfiddle.net/IrvinDominin/3bukS/

关于jquery - jQuery 中的单击事件和鼠标右键单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20610774/

相关文章:

javascript - 当我单击事件时,如何以这种方式在 FullCalendar 上格式化日期?

google-chrome-extension - Chrome 扩展程序 : add option to right click menu when clicking certain HTML element

jquery - 如何更改元素内的文本值?

jquery - 华丽的弹窗跳转

javascript - FullCalendar.js 在悬停事件时显示标题标签?

jasmine - 右键单击 Protractor

cocoa :右键单击 NSStatusItem

javascript - jQuery 按类显示隐藏父项

jquery - Jslint缺少分号错误

javascript - 如何将对象从 View 传递到 Controller