【问题标题】:Check if an element loaded via partial view exists using Jquery使用 Jquery 检查通过局部视图加载的元素是否存在
【发布时间】:2020-11-27 13:52:00
【问题描述】:

我正在开发一个 ASP.net mvc 项目并使用部分视图加载一些 html。我想检查 info-cache 元素在加载到主页后是否可用,但我的脚本似乎不起作用。 我绝对可以看到部分视图内容已加载到页面上,但脚本似乎没有被触发,因为我看不到写入控制台的“加载”消息。 知道我哪里出错了吗? 非常感谢。

<!-- partial view content -->
<div class="info-display">
   <input class="info-cache" type="hidden">
   <a href="#" class="info-update">Update</a>
</div>

//Script
$('body').on('load', '.info-cache', function () {
   console.log('loaded');
});

【问题讨论】:

  • 您只想在课程出现时检查或捕获事件?
  • 如果已经在浏览器缓存中,您可能会遇到问题,在这种情况下不会看到该事件

标签: jquery asp.net-mvc-partialview


【解决方案1】:

如果你想捕获某些东西,你可以使用 setInterval 来重复一个动作

var timer = setInterval(function () {
  if ($("input.info-cache").length) {
    clearInterval(timer);
    console.log('loaded');
  }
}, 250);//you could adjust the lapse for the next repeat

【讨论】:

  • 感谢@Frenchy - 这似乎为我完成了这项工作!我不确定为什么我的实现不起作用,因为我在同一个局部视图的“信息更新”链接上使用了相同的点击事件。我用过 $('body').on('click', '.info-update', fetchInfo);
猜你喜欢
  • 2010-12-23
  • 2012-12-05
  • 2011-07-12
  • 1970-01-01
  • 2015-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多