jquery dysfonctionnement de l'interface utilisateur de bloc sur l'événement de chargement ajax

StackOverflow https://stackoverflow.com/questions/2145434

  •  23-09-2019
  •  | 
  •  

Question

problème: déclenchement errored lorsque l'interface utilisateur de bloc est appelé ce code

(function($){

    function preloader()
    {
        $('a#preloader').click(function(e){
           e.preventDefault();
           var url = base_url + 'runtest/preloader';

           $('div#content').load(url, preloaderCallback);
        });
    }

    function remotePreload()
    {
        $('a#remotepreload').click(function(e){
           e.preventDefault();

           var object = $(this);
           object.data('clicked', 'yes');

           var url = base_url + 'runtest/remote_preloader';

           $('div#content').load(url);
        });
    }


    /*
     * callback functions
     */

    function preloaderCallback()
    {
        $('div.imageholder img').hide();

        $('div.imageholder img').each(function(){
            var img = new Image();

            var sursa = $(this).attr('src');

            var parent = $(this).parent();

            var preloaderSource = '<img src="' + base_url + 'media/images/preloader.gif' + '" alt="loader"/>';

            parent.append(preloaderSource);

            $(img).load(function(){
                parent.append($(this));
                $(this).hide().fadeIn(500);
                $(this).siblings().remove();
            }).attr('src', sursa);
        });
    }

    function blocker()
    {
        $('#content').block();
    }

    function handlePageLoad()
    {
        $('a#remotepreload').ajaxStart(function(e){
            var elem = $(e.target);
            if (elem.data('clicked') == 'yes')
            {
                // error when blocker() function is called here
                alert('Started');
            }
        });
        $('a#remotepreload').ajaxComplete(function(e){
            var elem = $(e.target);
            if (elem.data('clicked') == 'yes')
            {

                elem.removeData('clicked');
                alert('Ended');
            }
        });
    }

    // call onready functions
    $(function(){
        preloader(); remotePreload();handlePageLoad();
    });
})(jQuery);

// voici l'erreur du débogueur de Firefox uncaught exception: [Exception ... "Impossible de convertir l 'argument JavaScript arg 0" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" emplacement: "cadre JS :: http: //localhost/testsuite/media/js/jquery.min.js :: anonyme :: ligne 115" données: no]

voici la balise html

<div id="wrap">
            <div id="header">
                <?= $header ?>
            </div>

            <div id="content">
                <?= $content ?>
            </div>

            <div id="sidebar">
                <?= $sidebar ?>
            </div>

            <div id="footer">
                <?= $footer ?>
            </div>
        </div>

EDIT J'utilisais 1.4.1 Jquery quand cela est arrivé. Rallumé à 1,3 et tout est revenu à la normale.

Était-ce utile?

La solution

BlockUI a été mis à jour sur 6 Janvier 2010 , malheureusement, l'auteur n'a pas annoncé la fait partout sur la page d'accueil. Je peux confirmer que cela fonctionne parfaitement avec jQuery 1.4.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top