Преобразование из Mootools в Jquery - PullRequest
1 голос
/ 20 августа 2010

Я начал преобразовывать код на своем сайте в jquery из mootols. Я бы хотел включить jQuery вместо mootools, а затем написать некоторые функции, которые я использую в mootools, для jQuery, чтобы я мог использовать точно такой же код. Например, код, который я использую, уже преобразован:

jQuery.fn.addEvent = jQuery.fn.bind; 

Однако мне тяжело делать это:

$some_node.getElement('.class'); //where $some_node is an element like $(.selector);
$some_node.addClass('class');
$some_node.fireEvent('focus');
_node.setProperty('disabled', 'disabled').addClass('disabled');
$btn_node.removeProperty('disabled').removeClass('disabled');

Есть ли что-нибудь для этого?

Ответы [ 2 ]

2 голосов
/ 20 августа 2010

Если предположить, что $some_node является объектом jQuery, то эквивалент функции в jQuery будет

  • getElement('selector') должно быть find('selector').first(), поскольку getElement в Mootools, похоже, возвращает первый элемент, поэтому first используется для уменьшения массива результатов find до единицы.
  • addClass('class') это просто ... addClass('class'). Не могу понять, почему у вас будут проблемы с этим.
  • fireEvent('event') должно быть trigger('event')
  • setProperty('attribute', 'value') должно быть attr('attribute', 'value')
  • removeProperty('attribute') должно быть removeAttr('attribute')

Конечно, почти наверняка есть тонкие различия между функциями в обоих языках, на большинство из которых я не могу указать, поскольку я не знаком с Mootools.

0 голосов
/ 20 августа 2010

Конечно, приведенное выше будет преобразовано в:

$('.class').addClass('class');

$('.class').live("focus", function(e) {
     //Do something on focus
     //E.g. $(this).attr('disabled', 'disabled').addClass('disabled');
});

Или, если вы просто хотите установить фокус документа на этом элементе:

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