JQuery UI Bridge сбой с ошибкой l.option не является функцией - PullRequest
1 голос
/ 31 мая 2011

Сайт, над которым я работаю, использует своего рода трюк для загрузки и инициализации всех элементов.Основная идея заключается в следующем фрагменте jQuery:

$(document).ready(function() {
  $.fn.plugins = function() {
    $('.plugins', this).each(function() {
      var data, elem, name, value;
      elem = $(this);
      data = elem.data();
      for (name in data) {
        value = data[name];
        if (name in $.fn) {
          elem[name](value);
        }
      }
    });
  };
});

С этим я могу сделать следующее в HTML-документе в качестве примера:

<div id="dialog-add" class="plugins" data-dialog='{ "autoOpen": false }'>

Обычно я использую его сплагин valitor вот так:

<form class="plugins" data-valitor="">

Довольно круто, за исключением того, что я столкнулся с очень странной ошибкой в ​​jQuery ui 1.8.13.В Firefox 4.0.1 я получаю сообщение об ошибке «l.option не является функцией», когда вы запускаете диалоговое окно.

Вы можете увидеть проблему вживую здесь: http://jsbin.com/umafo4/9 (edit: http://jsbin.com/umafo4/9/edit)

Понятия не имею, почему происходит сбой

[Редактировать] Кажется, это как-то связано с диалогом данных и что имя атрибута данных совпадает с именем методаи все же это работает, когда я называю это за рамками ...

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