繁体   English   中英

页面加载后如何可靠地运行jquery脚本

[英]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部件下方

作为最后的选择,您可以使用setTimeoutsetInterval延迟执行它,但这很丑陋。

您可以通过使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM