У меня есть функция, которая использует jQuery.load () для вызова трех фрагментов форм на разных страницах, а затем в текстовом статусе успеха пытается загрузить палитру цветов:
$(document).ready(function() {
function ajax_form(putloadingboxhere, putsnippethere, snippeturl) {
$(putsnippethere).load(snippeturl, function (responseText, textStatus, XMLHttpRequest, ) {
if (textStatus == "success") {
alert('One')
$("input.pickcolor").ColorPicker({
onShow: function (colpkr) {
$(colpkr).fadeIn(500);
return false;
},
onSubmit: function(hsb, hex, rgb, el) {
$(el).val(hex);
$(el).ColorPickerHide();
$(el).siblings('.colorpreview').css('background-color', '#' + hex);
},
onBeforeShow: function () {
$(this).ColorPickerSetColor(this.value);
}
})
.bind('keyup', function(){
$(this).ColorPickerSetColor(this.value);
});
alert('Two')
}
if (textStatus == "error") {
// Show error message
}
});
}
ajax_form('tab_box', '#formone', 'snippet_one.htm #snippet');
ajax_form('tab_box', '#formtwo', 'snippet_two_copy.htm #snippet');
ajax_form('tab_box', '#formthree', 'snippet_three.htm #snippet');
});
Он отлично работает в Firefox и Safari, но (удивление, удивление) IE имеет проблемы с этим. Я добавил предупреждение, чтобы увидеть, что происходит до и после одной из функций.
FF & Safari & IE8: оповещение «один» и оповещение «два» появляются три раза, как ожидалось, и появляется средство выбора цвета.
IE6 и 7: предупреждение 'one' отображается три раза, а средство выбора цвета не отображается.
Любая помощь будет отличной! Приветствия.
EDIT
Строка, на которую ссылается IE, когда выдает эту ошибку:
'Ошибка: объект не поддерживает это свойство или метод.'
это:
$ ( 'input.pickcolor'). ColorPicker
У кого-нибудь есть идеи? Спасибо