0

$(document).ready只有当我通过 firebug 添加断点并从那里继续或在 line 之前发出警报时才会执行var buttons。否则它什么也不做。

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

        closeOnClick: false
    });
}); 

我使用 Mvc2 并使用 Telerik Components。

有什么建议么?

4

3 回答 3

1

如果它在您发出警报和设置断点时有效,那么听起来问题出在您设置的叠加层上,而不是就绪功能。您可以发布一些正在处理的叠加层的 HTML 代码吗?

于 2010-11-09T14:38:23.683 回答
0

您是否在此脚本块之前包含 jquery-source ?

错误是:

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

顺便问一下,你的警报有效吗?

于 2010-11-09T14:35:38.367 回答
0

带有“modalInput”的元素可能在窗口加载事件中发生了自己的初始化代码,而当您拥有自己的代码时,此代码尚未执行。

正确的解决方案是捕捉这些元素的某种“已完成”事件,也许 Telerik 组件会暴露这样的事情?

快速而肮脏的解决方案将是使用计时器(window.setTimeout)并在文档准备好后一秒钟执行您的代码。

于 2010-11-09T14:40:16.387 回答