Javascript код не работает в Chrome

0

Я использую этот код 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)
    });
    }
});
  • 3
    Вы запускаете это из файловой системы? Chrome не допускает ajax из файловой системы. Вам нужно использовать сервер.
  • 1
    Он что-то пишет в консоль или кажется, ничего не делает?
Показать ещё 2 комментария
Теги:
google-chrome

2 ответа

2
Лучший ответ

В вашем случае, чтобы быть в соответствии с 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);
        });
    }
});
0

Событие blur является неполным для FF Mac, Saf Win, Chrome Win и Chrome Mac.

Как указано в этих таблицах совместимости событий.

Использование других полных прослушивателей событий, таких как mouseleave и mouseup, устранит проблему.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню