【问题标题】:Detect when AJAX changes HTML in a DIV in WebBrowser检测 AJAX 何时更改 WebBrowser 中 DIV 中的 HTML
【发布时间】:2010-11-30 01:55:08
【问题描述】:

通过 WebBrowser 加载页面并单击触发 AJAX 脚本的链接后,我需要检测 AJAX java 脚本何时完成将 HTML 更改加载到 div 中。由于运行 AJAX 脚本时没有触发 DocumentCompleted 事件,我不知道它何时完成运行。在我知道 100% javascript 完成更改 div 之后,有没有办法可以附加要引发的事件?
该项目使用 C#。
谢谢

【问题讨论】:

  • AttachEventHandler 命令怎么样?可以用来解决这个问题吗?

标签: ajax browser


【解决方案1】:

我最近做了类似的事情(使用 jQuery):

$('#mydiv').change(function(){
        // do stuff
    }
);

当然,我也使用 jQuery 来设置该 div 的 HTML。我想对您而言,一种非 jQuery 方法可能是通过您自己的函数设置 HTML,这反过来可以触发 onchange 事件。

@镇上的新人:根据我的经验,这是不正确的。我在多个从未获得焦点的 DIV 上使用它,它运行良好且始终如一。正常行为如您所描述,通常仅适用于 INPUT 和 SELECT 元素,但 jQuery 并非如此。

【讨论】:

  • 恐怕这个“change”事件只会在元素失去输入焦点时触发(前提是值已经改变)。
  • 您可以在 .Net 中使用 jQuery。 Stackoverflow 本身大量使用 jQuery。
【解决方案2】:

没有事件。当 AJAX 请求的回复进来时,您必须修补浏览器运行的 JavaScript 回调。这将包含类似“div.innerHTML = ...”的代码。只需将您的代码放在下面即可。

【讨论】:

  • 我无法控制加载的脚本,因为它是第三方页面。
猜你喜欢
  • 1970-01-01
  • 2011-03-19
  • 2016-01-01
  • 2013-03-17
  • 2013-02-24
  • 1970-01-01
  • 1970-01-01
  • 2020-02-11
  • 2020-07-10
相关资源
最近更新 更多