带有require.js优化代码的IE中的$(document).ready()

时间:2012-06-27 10:08:23

标签: javascript jquery requirejs require

我在IE中加载JS时遇到问题。如果按ctrl + r,我的文档就会运行。这只是在使用requirejs优化器和IE时的情况。如果我不运行优化器,我在其他浏览器和IE中工作。

require(["jquery", "modals", "registermodule", "bootstrap", "personsmodule"], function($) {

//This is for placeholders in browsers that don't support it.
function createPlaceHoldersForIE(){
    if (typeof document.createElement("input").placeholder == 'undefined') {
        $('[placeholder]').focus(function() {
            var input = $(this);
            if (input.val() == input.attr('placeholder')) {
                input.val('');
                input.removeClass('placeholder');
            }
        }).blur(
                function() {
                    var input = $(this);
                    if (input.val() === '' || input.val() === input.attr('placeholder')) {
                        input.addClass('placeholder');
                        input.val(input.attr('placeholder'));
                    }
                }).blur().parents('form').submit(function() {
            $(this).find('[placeholder]').each(function() {
                var input = $(this);
                if (input.val() == input.attr('placeholder')) {
                    input.val('');
                }
            });
        });
    }
}


// This will allow $(selector).val().trim(); syntax
String.prototype.trim = function() {
    return $.trim(this);
};

$(document).ready(function() {
    createPlaceHoldersForIE();
});

});

1 个答案:

答案 0 :(得分:0)

更改为使用domReady!模块。

http://requirejs.org/docs/api.html#pageload

require([
         "jquery", "modals", "registermodule", 
         "bootstrap", "personsmodule", "domReady!"
        ], 
         function($){