Facebox 不是 ASP.NET 母版页中的函数

发布于 2024-12-10 13:03:43 字数 1469 浏览 1 评论 0原文

我正在尝试将错误处理与 Facebox 集成,以更清晰的方式显示我的错误。出现的问题是,当我尝试调用 jQuery.facebox 时,它告诉我它不是一个函数。但我可以在整个应用程序中使用 Facebox 的 rel 链接。

Head:

<script language="javascript" src="http://code.jquery.com/jquery-latest.js" type="text/javascript" />
<script language="javascript" src="/Resources/js/jquery.min.js" type="text/javascript"></script>    
<script language="javascript" src="/Resources/js/jquery-1.2.2.pack.js" type="text/javascript"></script>        
<link href="/Resources/css/facebox.css" media="screen" rel="stylesheet" type="text/css"/>        
<script src="/Resources/js/facebox.js" type="text/javascript" /> 

然后从我在母版页上的代码隐藏中,我像这样调用facebox:

ScriptManager.RegisterStartupScript(Page, typeof(string), "ErrorMessage", "jQuery.facebox({ div: '#error' });", true);

并且错误div位于母版页的末尾:

<div id="error" style="display:none;">
    <table width="100%" cellpadding="0" cellspacing="0">
        <tr>
            <td colspan="2" style="background-color:#5F92CB; color:#fff; padding:6px; font-weight:bold;" align="left">Error Occurred while processing request</td>
        </tr>
        <tr>
            <td style="padding:4px;" class="boldText"><asp:Label ID="lblErrorMessage" runat="server" /></td>
        </tr>            
    </table>
</div>

任何帮助将不胜感激。谢谢

I'm trying to integrate my error handling with facebox to show my errors in a cleaner way. The problem that is occurring is that when I try to call jQuery.facebox, it is telling me that it is not a function. But I am able to use facebox's rel on links throughout my application.

Head:

<script language="javascript" src="http://code.jquery.com/jquery-latest.js" type="text/javascript" />
<script language="javascript" src="/Resources/js/jquery.min.js" type="text/javascript"></script>    
<script language="javascript" src="/Resources/js/jquery-1.2.2.pack.js" type="text/javascript"></script>        
<link href="/Resources/css/facebox.css" media="screen" rel="stylesheet" type="text/css"/>        
<script src="/Resources/js/facebox.js" type="text/javascript" /> 

Then from my codebehind on the masterpage Im calling facebox like this:

ScriptManager.RegisterStartupScript(Page, typeof(string), "ErrorMessage", "jQuery.facebox({ div: '#error' });", true);

And the error div is down towards the end of the masterpage:

<div id="error" style="display:none;">
    <table width="100%" cellpadding="0" cellspacing="0">
        <tr>
            <td colspan="2" style="background-color:#5F92CB; color:#fff; padding:6px; font-weight:bold;" align="left">Error Occurred while processing request</td>
        </tr>
        <tr>
            <td style="padding:4px;" class="boldText"><asp:Label ID="lblErrorMessage" runat="server" /></td>
        </tr>            
    </table>
</div>

Any help would be greatly appreciated. thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

神经暖 2024-12-17 13:03:43

如果你确实需要在同一个页面上使用多个版本的 jquery,这是可行的,但并不总是更好(可能会让人头疼),你将不得不使用 jQuery 的无冲突模式。检查以下网址以获取更多信息和实施细节: 链接1链接 2

了解哪些插件很重要使用哪个版本的 jQuery。这是因为您必须以正确的顺序加载它们。您需要在新的 jQuery 版本之前加载旧版本的插件。

也就是说,最好在加载 DOM 时运行脚本,就像 Brian 所说,使用以下代码片段来完成此操作:

 $(document).ready(function() { jQuery.facebox({ div: '#error' }); })

If you really need to use multiple versions of jquery on the same page, which is doable but not always preferable (may give headaches), you will have to use jQuery's noconflict mode. Check for more info and implementation details the following urls: link 1, link 2

It's important to know which plugins use which version of jQuery. This is because you will have to load them in the right order. You will need to load the older version plugins before the new jQuery version.

That said it's beter to run scripts when the DOM is loaded, just like Brian said, use the following snippet to accomplish that:

 $(document).ready(function() { jQuery.facebox({ div: '#error' }); })
柏林苍穹下 2024-12-17 13:03:43

尝试将其包装在 document.ready 中,如下所示:

ScriptManager.RegisterStartupScript(Page, typeof(string), "ErrorMessage", "$(document).ready(function() { jQuery.facebox({ div: '#error' }); });", true);

它失败的原因是因为它很可能在 Facebox 插件准备就绪之前运行。

Try wrapping it in document.ready as in:

ScriptManager.RegisterStartupScript(Page, typeof(string), "ErrorMessage", "$(document).ready(function() { jQuery.facebox({ div: '#error' }); });", true);

The reason it's failing is because it's running before the facebox plugin is ready most likely.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文