Facebox не является функцией на главной странице asp.net - PullRequest
0 голосов
/ 17 октября 2011

Я пытаюсь интегрировать свою обработку ошибок с facebox, чтобы показать мои ошибки более понятным способом. Проблема заключается в том, что когда я пытаюсь вызвать jQuery.facebox, он говорит мне, что это не функция. Но я могу использовать ссылки на Facebox по всему моему приложению.

Руководитель:

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

Тогда из моего кода на главной странице я звоню в фейсбокс так:

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>

Любая помощь будет принята с благодарностью. спасибо

Ответы [ 2 ]

1 голос
/ 17 октября 2011

Если вам действительно нужно использовать несколько версий jquery на одной странице, что выполнимо, но не всегда предпочтительно (может вызывать головные боли), вам придется использовать режим jocuery noconflict. Проверьте для получения дополнительной информации и деталей реализации следующие URL: ссылка 1 , ссылка 2

Важно знать, какие плагины используют какую версию jQuery. Это потому, что вам придется загружать их в правильном порядке. Вам нужно будет загрузить плагины старой версии перед новой версией jQuery.

Это говорит о том, что лучше запускать сценарии при загрузке DOM, как сказал Брайан, для этого используйте следующий фрагмент:

 $(document).ready(function() { jQuery.facebox({ div: '#error' }); })
1 голос
/ 17 октября 2011

Попробуйте обернуть его в document.ready как в:

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

Причина, по которой он не работает, заключается в том, что он работает до того, как плагин Facebox, скорее всего, будет готов.

...