我正在使用C#在ASP.Net中开发一个应用程序。此外,我的应用程序中使用了许多JQuery函数。该应用程序在Fire Fox和Google Chrome中运行良好,但部分功能在Internet Explorer 10中无效。在我的网页中,我定义了window.bind(“load”)函数。在这个函数下,将执行几个JQuery函数。除IE 10外,此功能在所有浏览器中都能正常运行。代码片段如下:
$(window).bind("load", function () {
//alert("I am In Window Bind Function");
all_blur();
get_all_es();
loadImage();
});
在此代码段中,注释了警报代码。这不适用于IE。但是,如果我将警报代码置于活动状态,那么它工作正常。这意味着以下代码对我来说很好。
$(window).bind("load", function () {
alert("I am In Window Bind Function");
all_blur();
get_all_es();
loadImage();
});
但我必须在没有警报的情况下执行此功能。我怎样才能做到这一点?请帮帮我。
答案 0 :(得分:2)
在上面的代码中,当您有警报时,窗口会获得在页面上呈现控件的时间,并且当您在警报上单击“确定”时,它表示存在所有控件并且可以对这些控件执行操作。
这是必须调用$(document).ready(function(){})
而不是加载的原因。如下
$(document).ready(function () {
//alert("I am In Window Bind Function");
all_blur();
get_all_es();
loadImage();
});
或者
$(function () {
//alert("I am In Window Bind Function");
all_blur();
get_all_es();
loadImage();
});
答案 1 :(得分:1)
原因可能是加载所有组件的时间。到达警报所需的时间足以加载整个窗口的所有组件。这是IE中的典型问题。所以在一段时间后执行jQuery(你可以在下面的函数中定义它。)
setTimeout(function() {
if ($.browser.msie) { //To confirm the browser as IE(any version)
//Your jquery/javascript statements
}, 1000); //This is the time limit, define the time period as per your requirement