2

SharePoint カレンダーがあり、モーダル ダイアログでカレンダー オーバーレイ イベントを強制的に開くための Javascript コードがあります。基本的に、次のコードを介してモーダル ダイアログで強制的に開くようにします。

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

問題は、このコードで開く「ネイティブ」イベントがカレンダーに既に存在することです。これをクリックすると、イベントがモーダル ダイアログで 2 回開き、ページが使用できなくなります。

私はjqueryや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 に答える