Frage

Problem: Trigger errored wenn Block UI auf diesem Code aufgerufen wird

(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);

// hier ist der Fehler von firefox des Debuggers abgefangene Ausnahme: [Exception ... nsresult "kann nicht JavaScript Argument arg 0 konvertieren": "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" Ort: "JS Rahmen :: http: //localhost/testsuite/media/js/jquery.min.js :: anonym :: Linie 115" Daten: no]

Hier ist das HTML-Markup

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

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

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

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

Bearbeiten Ich war mit JQuery 1.4.1, als dies geschah. Switched zurück auf 1,3 und alles lief wieder normal.

War es hilfreich?

Lösung

wurde BlockUI aktualisiert 6. Januar 2010 leider der Autor nicht die ankündigen Tatsache überall auf der Homepage. Ich kann bestätigen, dass es funktioniert perfekt mit jQuery 1.4.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top