Я использую этот код JavaScript с библиотекой JQuery, теперь это не работает в Google Chrome, работает в Apple Safari и FireFox (как было протестировано)
$(document).on('blur', '#UserNameInput', function(e) {
//alert ('this')
if ($(this).val().length < 6 ) {
$('#UnameCheck').html('That user anme is too short... please try again with something more than 6 Charecters')
} else {
$(this).css('background-image', 'url(../images/IMG_8485.GIF)');
$('#UnameCheck').html('Please wait while checking your User Name').css('color', '#F3F').show('fast');
var Uname = ($('#UserNameInput').val())
var data = { // create object
l : Uname
}
$.ajax({
type:"POST",
data: data,
complete: function(){
$('#UserNameInput').css('background-image', '')
},
url:"../php/UserNameCheck.php"
}).done(function(feedback){
$('#UnameCheck').html(feedback)
});
}
});
В вашем случае, чтобы быть в соответствии с Chrome, вам нужно добавить событие mouseup
или/и mouseleave
:
$(document).on('blur mouseup mouseleave', '#UserNameInput', function (e) {
//alert ('this')
if ($(this).val().length < 6) {
$('#UnameCheck').html('That user anme is too short... please try again with something more than 6 Charecters');
} else {
$(this).css('background-image', 'url(../images/IMG_8485.GIF)');
$('#UnameCheck').html('Please wait while checking your User Name').css('color', '#F3F').show('fast');
var Uname = ($('#UserNameInput').val());
var data = { // create object
l: Uname
};
$.ajax({
type: "POST",
data: data,
complete: function () {
$('#UserNameInput').css('background-image', '');
},
url: "../php/UserNameCheck.php"
}).done(function (feedback) {
$('#UnameCheck').html(feedback);
});
}
});
Событие blur
является неполным для FF Mac, Saf Win, Chrome Win и Chrome Mac.
Как указано в этих таблицах совместимости событий.
Использование других полных прослушивателей событий, таких как mouseleave
и mouseup
, устранит проблему.