当从另一个jquery事件加载页面时,Jquery无法在Webbrowser控件中工作

时间:2015-05-25 19:14:25

标签: javascript jquery vb.net webbrowser-control

这个问题非常具体,所以我不确定是否有人曾经遇到过这个问题,但我发布这个问题以防万一有想法...

我有一个带有Webbrowser控件的vb.net应用程序。该应用程序创建包含jquery代码的html页面,并使用.navigate

将它们加载到Webbrowser控件中

以下是正在发生的事情的简化示例:

  1. 我创建了一个带有DIV的页面。那个DIV有鼠标悬停和onclick事件绑定 使用jquery。
  2. 当用户点击该DIV时,它会调用vb.net 功能如'onclick = window.external.MyFunction()'
  3. 这会调用我的.net函数MyFunction,它会创建一个新的html页面(也包含jquery代码)
  4. 当该页面加载到同一个Webbrowser控件中时,它上面的jquery事件( click,mouseover等)不起作用。
  5. 一些示例代码:

    此Jquery代码适用于第一页,但不适用于下一页

    onmouseover="$('#my_div').css('visibility','visible');"
    

    此Javascript代码适用于第一页和下一页

    onmouseover="document.getElementById('my_div').style.visibility = 'visible';"
    

    注意事项:

    • 我验证了JQuery正常运行。我正在使用jquery-1.11.1.min.js和jquery-ui-1.10.2.custom.min.js
    • 我正在使用不同版本的已安装IE测试我的应用。它在7,8和11中工作正常。如果安装了9和10,我就会遇到这个问题。
    • 如果我在IE浏览器中打开生成的网页,它可以正常工作
    • 如果我在我的应用中点击“F5”以在下一页加载后刷新webbrowser控件,那么它可以正常工作
    • 如果我使用javascript事件而不是Jquery,它可以工作。我不想这样做,因为我在整个应用程序中都使用了Jquery。
    • 哈哈让它发挥作用:如果我更改我的vb.net MyFunction以触发定时器并且该定时器事件调用'构建下一页'逻辑,它工作正常。虽然这有效,但我不能真正使用它,并且更愿意找出并解决潜在的问题。这项工作的事实让我相信这里有一些解决方案......只是不确定它是什么。

0 个答案:

没有答案