2010-08-20 8 views
1

J'ai commencé à convertir un code sur mon site en jquery à partir de mootols Je voudrais inclure jQuery au lieu de mootools puis écrire certaines fonctions que j'utilise dans mootools pour jQuery afin que je puisse utiliser exactement même code. Une partie du code que je utilise je l'ai déjà converti est par exemple:Conversion de Mootools en Jquery

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

Cependant, je vais avoir du mal à faire ces:

$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'); 

Y at-il quelque chose là-bas pour cela?

Répondre

2

En supposant que le $some_node est un objet jQuery, la fonction équivalent dans jQuery serait

  • getElement('selector') devrait être find('selector').first() , comme getElement dans Mootools semble retourner le premier élément, ainsi first est utilisé pour réduire le tableau de résultats find redescendre à un.
  • addClass('class') est juste ... addClass('class'). Je ne vois pas pourquoi vous auriez des problèmes avec ça.
  • fireEvent('event') devrait être trigger('event')
  • setProperty('attribute', 'value') devrait être attr('attribute', 'value')
  • removeProperty('attribute') devrait être removeAttr('attribute')

Bien sûr, il presque certainement des différences subtiles entre les fonctions dans les deux langues, dont la plupart je ne peux pas souligner que Je ne suis pas familier avec Mootools.

0

Sûrement ce qui précède convertirait à:

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

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

Ou si vous souhaitez simplement mettre l'accent document sur cet élément:

$('.class').focus();