[英]How can I have C# code run after a jquery script that is running on page load?
[英]How can I reliably run a jquery script after page load
我试图让一些jquery代码在共享点页面加载后运行,代码是:
$(".ms-commentcollapse-icon").click();
我一直在使用以下内容在页面加载后加载代码,但是它似乎并不十分可靠(有时可以正常工作,有时则无法正常工作):
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script type="text/javascript">
$(window).load(function () {
$(".ms-commentcollapse-icon").click();
});
</script>
还有其他好的方法可以做到这一点吗? 我不确定发生了什么,共享点可能有问题,但是我认为我会首先尝试摆弄脚本。
您可以使用自动执行功能:
<script type="text/javascript">
(function () {
$(".ms-commentcollapse-icon").click();
} ());
</script>
如果此版本是SharePoint 2010或更高版本,则可以使用ExecuteOrDelayUntilScriptLoaded(yourfunction,"SP.JS")
来防止代码被触发,直到SP.JS库加载完毕为止(或者,您可以将其他任何库放在第二个参数中类似的效果)。
如果这是在Web部件中,并且您不希望它在页面上的其他Web部件完全加载之前执行,请确保包含脚本的Web部件在其他Web部件下方 。
作为最后的选择,您可以使用setTimeout
或setInterval
延迟执行它,但这很丑陋。
您可以通过使用e.preventDefault()防止默认行为。 在功能内。
<script type="text/javascript">
$(".ms-commentcollapse-icon").click(function(e) {
// We're going to stop the default behavior
e.preventDefault();
//some code here
});
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.