Готовая функция не выполнена - PullRequest
0 голосов
/ 09 ноября 2010

$(document).ready будет выполнено только в том случае, если я добавлю точку останова через firebug и продолжу оттуда или получу предупреждение перед строкой var buttons. В противном случае это ничего не делает.

$(document).ready(function () {
    //alert('sdfsdf');
    var buttons = $(".modalInput").overlay({
        mask: {
            color: '#ebecff',
            loadSpeed: 200,
            opacity: 0.9
        },

        closeOnClick: false
    });
}); 

Я работаю с Mvc2 и использую Telerik Components.

Есть предложения?

Ответы [ 3 ]

1 голос
/ 09 ноября 2010

Если это работает, когда вы предупреждаете и когда вы устанавливаете точку останова, похоже, что проблема в том, что вы настроили оверлеи, а не в функции готовности вообще. Можете ли вы опубликовать HTML-код, над которым работают оверлеи?

0 голосов
/ 09 ноября 2010

Элементы с "modalInput", вероятно, имеют свой собственный код инициализации, возникающий при событии загрузки окна, и этот код еще не выполнялся, когда у вас есть собственный код.

Правильным решением будет отлов некоторого вида«Завершено» событие этих элементов, может быть, компонент Telerik представляет такую ​​вещь?

Быстрое и грязное решение состоит в том, чтобы использовать таймер (window.setTimeout) и выполнить ваш код, например, через одну секунду после того, как документ будет готов.

0 голосов
/ 09 ноября 2010

Включаете ли вы jquery-источник перед этим блоком скрипта?

Неправильно будет:

<script type="text/javascript">
    $(document).ready(function () {
        //alert('sdfsdf');
        var buttons = $(".modalInput").overlay({
            mask: {
                color: '#ebecff',
                loadSpeed: 200,
                opacity: 0.9
            },
            closeOnClick: false
        });
    }); 
</script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/jquery-ui.js"></script>

тогда как следующее будет правильным

<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/jquery-ui.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        //alert('sdfsdf');
        var buttons = $(".modalInput").overlay({
            mask: {
                color: '#ebecff',
                loadSpeed: 200,
                opacity: 0.9
            },
            closeOnClick: false
        });
    }); 
</script>

Кстати, ваше оповещение работает?

...