2

我有一个 SharePoint 日历,并且我有一些 Javascript 代码来强制日历覆盖事件在模式对话框中打开。基本上,它强制他们通过以下代码在模式对话框中打开:

$('.ms-acal-ddiv a').click(function(){ 
     EditLink2(this,'WPQ2');
     return false; 
});

问题是日历上已经有使用此代码打开的“本机”事件,而正在发生的事情是,当您单击它时,事件会以模式对话框打开 TWICE,从而使页面无法使用。

我不擅长编写 jquery 或 javascript。如何编写 javascript 来查找加粗的代码,并在链接已经执行的情况下阻止它运行?

我在这里先向您的帮助表示感谢。

4

2 回答 2

1

尝试这个:

$('.ms-acal-ddiv a').click(function(event){
    EditLink2(this,'WPQ2');
    event.stopPropagation();
    event.stopImmediatePropagation()
    return false;
});

这将防止click事件冒泡。

于 2013-03-29T21:24:40.490 回答
0

我遇到了同样的问题。以下代码似乎已经为我清除了它:

$('.ms-acal-mdiv a, .ms-acal-ddiv a, .ms-acal-sdiv a').click(function(event){
    event.preventDefault();
    event.stopPropagation();
    event.stopImmediatePropagation();
    EditLink2(this,'WPQ2');
});

我想知道return false最终是否会阻碍覆盖层消失。

于 2014-10-30T15:26:30.203 回答