一些Jquery函数在IE中不起作用

时间:2014-07-31 07:03:58

标签: javascript jquery internet-explorer

我正在使用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();
    });

但我必须在没有警报的情况下执行此功能。我怎样才能做到这一点?请帮帮我。

2 个答案:

答案 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

相关问题