Преобразование из Mootools в Jquery
Я начал преобразовывать код на своем сайте в 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 ответа
Решение
Предполагая, что $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.
Конечно, вышеизложенное будет преобразовано в:
$('.class').addClass('class');
$('.class').live("focus", function(e) {
//Do something on focus
//E.g. $(this).attr('disabled', 'disabled').addClass('disabled');
});
Или, если вы просто хотите установить фокус документа на этот элемент:
$('.class').focus();