عطل jQuery Block UI في حدث تحميل Ajax
-
23-09-2019 - |
سؤال
المشكلة: الزناد يخطئ عند استدعاء كتلة واجهة المستخدم على هذا الرمز
(function($){
function preloader()
{
$('a#preloader').click(function(e){
e.preventDefault();
var url = base_url + 'runtest/preloader';
$('div#content').load(url, preloaderCallback);
});
}
function remotePreload()
{
$('a#remotepreload').click(function(e){
e.preventDefault();
var object = $(this);
object.data('clicked', 'yes');
var url = base_url + 'runtest/remote_preloader';
$('div#content').load(url);
});
}
/*
* callback functions
*/
function preloaderCallback()
{
$('div.imageholder img').hide();
$('div.imageholder img').each(function(){
var img = new Image();
var sursa = $(this).attr('src');
var parent = $(this).parent();
var preloaderSource = '<img src="' + base_url + 'media/images/preloader.gif' + '" alt="loader"/>';
parent.append(preloaderSource);
$(img).load(function(){
parent.append($(this));
$(this).hide().fadeIn(500);
$(this).siblings().remove();
}).attr('src', sursa);
});
}
function blocker()
{
$('#content').block();
}
function handlePageLoad()
{
$('a#remotepreload').ajaxStart(function(e){
var elem = $(e.target);
if (elem.data('clicked') == 'yes')
{
// error when blocker() function is called here
alert('Started');
}
});
$('a#remotepreload').ajaxComplete(function(e){
var elem = $(e.target);
if (elem.data('clicked') == 'yes')
{
elem.removeData('clicked');
alert('Ended');
}
});
}
// call onready functions
$(function(){
preloader(); remotePreload();handlePageLoad();
});
})(jQuery);
// هنا هو الخطأ من استثناء تصحيح الأخطاء غير الموقوف من Firefox: [استثناء ... "لا يمكن تحويل وسيطة JavaScript Arg 0" nsresult: "0x80570009 (ns_error_xpc_bad_convert_js)" الموقع: "JS Frame ::" http: //localhost/testsuite/media/js/jquery.min.js :: مجهول :: السطر 115 "البيانات: لا
ها هي علامة HTML
<div id="wrap">
<div id="header">
<?= $header ?>
</div>
<div id="content">
<?= $content ?>
</div>
<div id="sidebar">
<?= $sidebar ?>
</div>
<div id="footer">
<?= $footer ?>
</div>
</div>
تعديلكنت أستخدم jQuery 1.4.1 عندما حدث هذا. عاد إلى 1.3 وعاد كل شيء إلى طبيعته.
المحلول
تم تحديث blockui 6 يناير 2010, لسوء الحظ ، لم يعلن المؤلف عن الحقيقة في أي مكان على الصفحة الرئيسية. يمكنني التأكيد على أنه يعمل بشكل مثالي مع JQuery 1.4.
لا تنتمي إلى StackOverflow