2010-08-20 2 views
1

Я начал конвертировать код на моем сайте в jquery из mootols. Я хотел бы включить jQuery вместо mootools, а затем написать некоторые функции, которые я использую в mootools для jQuery, поэтому я могу использовать точные такой же код. Часть кода я использую я уже конвертированы, например,:Преобразование из 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

Предполагая $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

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

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

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

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

$('.class').focus(); 
Смежные вопросы