3

我有一个附加到 CEWP 的脚本,该脚本仅在我处于编辑模式时执行,并且在我保存页面时不执行任何操作。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">         
function openDialogBox(Url)  

{    
    var ModalDialogOptions = { url:Url, width: 600, height: 500, showClose: true, allowMaximize: true};     
    SP.SOD.execute('sp.ui.dialog.js', 'SP.UI.ModalDialog.showModalDialog', ModalDialogOptions); 
} 

(function($){    
   $('.ms-acal-month').ready(function () {

setTimeout(function() { 

$('a[href*="DispForm.aspx"]').each(function() { 

$(this).attr('onclick', 'openDialogBox("' +  $(this).attr('href') + '")'); 

//$(this).attr('onclick', ' '); 

//alert($(this).attr('href')); 
}); 

$('a[href*="DispForm.aspx"]').each(function() { 

$(this).attr('href','javascript:openDialogBox("' +  $(this).attr('href') + '")'); 

}); 

}, 3000); 

}); 
})(jQuery);    
</script>

如果它是相关的,这就是我试图用 then 脚本实现的目标:

我在 SharePoint Online 2013 上。我有一个表单,它在日历视图中显示了一个事件日历。如果用户想要编辑日历上显示的已添加事件,我会遇到一些问题。- 显示事件的单元格显示事件的标题,并带有超链接。如果用户双击单元格(在空白处),他会按我希望的方式转移到默认显示页面。但是,如果他碰巧点击了超链接的标题,则默认显示页面不是打开的而是实际的整个项目

我希望始终打开默认显示表单的原因是因为我有一个自定义脚本隐藏/显示字段

非常感谢提前 Ijlal

4

1 回答 1

5

添加type="text/javascript"到引用库的第一个脚本标记中,它应该可以工作。它对我有用。

事实证明,type="text/javascript"属性非常重要。我已将它排除在<script>引用我正在使用的 javascript 库的标记之外(在我的情况下为 Angular,在您的情况下为 jQuery)并且经历了完全相同的行为 - 当页面处于编辑模式但甚至没有被调用时,角度代码正在执行当页面处于查看模式时。

我意识到这是一篇较旧的帖子,但我刚刚遇到了类似的问题,并找到了我认为我会分享的问题的解决方案。希望它可以帮助未来的谷歌搜索者。

于 2014-09-18T13:31:34.673 回答