JQuery / Mootools проблема в IE8 - PullRequest
       12

JQuery / Mootools проблема в IE8

0 голосов
/ 21 января 2012

Я работаю над страницей, на которой запущены Mootools 1.4 и jQuery 1.5.1.Я знаю, что это не идеально, но у меня нет выбора.Страница прекрасно работает в большинстве браузеров, но не в IE8.Я получаю следующую ошибку:

Object doesn't support this property or method

при попытке добавить событие щелчка, несмотря на то, что мой специфичный для jQuery код помещается в блок noConflict.Вот скрипка, которая воспроизводит проблему: http://jsfiddle.net/p7rFV/1/

Спасибо за любые идеи о том, что происходит.

$.noConflict();
  jQuery(document).ready(function($) {
    // Code that uses jQuery's $ can follow here.
  });


document.getElementById('button').addEvent('click', function(){
   document.getElementById('tester').hide();
});

1 Ответ

1 голос
/ 21 января 2012

Две проблемы с вашей скрипкой:

  1. Когда вы это сделаете, вы должны использовать jQuery.noConflict();, а не $.noConflict();

  2. MooTools можетНе улучшайте элементы DOM на уровне прототипа в IE, как это можно сделать в других браузерах, поэтому вы всегда должны обязательно пропускать их через $() или document.id(), прежде чем использовать для них функции, специфичные для MooTools.Таким образом, эта строка завершается ошибкой:

    document.getElementById('tester').hide();
    

    ... потому что элемент DOM не имеет hide метода.Вместо этого просто используйте $() или document.id():

    $('tester').hide();
    document.id('tester').hide();
    

    ..., которые оба будут искать элемент и расширить его.

Обновленная скрипка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...