如何在页面加载后可靠地运行jquery脚本
How can I reliably run a jquery script after page load
我正试图在加载sharepoint页面后运行一些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>
还有其他好的方法可以实现这一点吗?我不确定发生了什么,sharepoint可能有错,但我想我会先试着多摆弄一下脚本。
您可以使用自动执行功能:
<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>
相关文章:
- 对动态创建的元素运行jQuery.ech()
- 如何在加载角度函数后运行jQuery代码
- 在AJAX jQuery加载()之后运行jQuery代码
- 如何仅在设备基于 iOS 时运行 jQuery 代码
- 使用 .on 函数运行 jQuery 声明函数
- html代码没有运行jquery问题
- 仅在尚未运行jQuery UI的情况下运行动画
- 在运行jquery之前从5开始倒计时
- 在不重新运行jquery验证的情况下检查表单是否有效
- 在Angular App中运行jQuery函数
- 一旦设置了PHP查询字符串,如何运行jQuery脚本
- 如何在Ember中更改模板时运行JQuery代码
- 如果URL包含字符串don't运行jQuery函数
- 在php之前运行jQuery脚本
- 无法动态地将 jquery 添加到头部并运行 jquery 代码
- 在 HTML 中运行 jquery 脚本
- 如何在控制器外部和视图内在 AngularJs 中运行 jQuery
- 在具有相同类的每个表上运行 jquery
- 在 Angular 完成渲染后运行 JQuery 代码
- 如何选择当前 DIV ID 以使用该 ID 运行 Jquery