JQuery ошибка SCRIPT5002: функция ожидается в IE9 64Bit

0

Почему я получаю следующую ошибку в сценарии jQuery только тогда, когда она работает на IE9 64Bit? Весь сайт хорошо работает во всех других браузерах. Это единственный браузер, который выбрал эту ошибку.

Моя версия jQuery в 1.7.2

Ошибка:

SCRIPT5002: Function expected 
jq.js, line 430 character 6

Это строка 430 Character 6

$('#'+type).insertAfter(self.parent()).show();

+type на самом деле 'success'

success - это div, который скрыт и хранится в конце страницы, и это перемещается в родительский.

<div id="success">Your message was sent</div>

Мой код

$('.msg').click(function() {

    self = $(this);

    var type = $(this).data('type');

        if(type) {
            // ajax call
            $.ajax({
                type:"GET",
                url:"/msgr/",
                data:data,
                dataType: 'json',
                beforeSend:function(html){

                },
                success: function(callBack){
                    $('#'+type).insertAfter(self.parent()).show();
                }

                },
                error: function(page_data){

                },
            });
        }
        return false;
    });
  • 3
    Дайте нам контекст большей картины. Вы предоставляете слишком мало информации, чтобы мы могли воспроизвести проблему. Докажите свою проблему, предоставив ссылку на страницу, или создайте jsfiddle, который воспроизводит ошибку.
  • 0
    Вы знаете, что ошибка в строке n в 9/10 случаях вызвана ошибкой в строке nm верно?
Показать ещё 9 комментариев
Теги:
internet-explorer

1 ответ

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

self является свойством объекта window, который доступен только для чтения в некоторых версиях IE.

Простейшим решением является переименование переменной (особенно в случае глобальной переменной), или некоторые случаи ограничивают использование self в определенной области видимости функции, объявляя ее с помощью var.

Ещё вопросы

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