Конвертировать JQuery в Mootools - PullRequest
0 голосов
/ 12 февраля 2011

У меня есть некоторый код jQuery, который довольно хорошо работает для открытия внешних ссылок в новых окнах, хотя я сталкиваюсь с проблемами совместимости с моим сайтом Joomla и jQuery.Я сталкивался с этой проблемой в прошлом, и самый простой способ ее решения - использовать системную библиотеку Mootools Joomla.

Вот скрипт jQuery, который мне нужно преобразовать в Mootools:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>         
<script type="text/javascript">                                         
   $(document).ready(function() {
      $('a[href^="http://"]').filter(function() {return this.hostname && this.hostname !== location.hostname;}).attr('target', '_blank');
   });                     
</script>

Может кто-нибудь помочь мне преобразовать приведенный выше код?

Еще раз, Mootools уже включен через системный плагин.

Ответы [ 3 ]

3 голосов
/ 12 февраля 2011

Если вы захотите выбрать внешние ссылки снова, вы можете установить новый псевдо-селектор

Slick.definePseudo('external', function() {
    return this.hostname && this.hostname != window.location.hostname;
});

document.getElements('a[href^=http://]:external').set('target', '_blank');

Или точно так, как это сделал jQuery.

document.getElements('a[href^=http://]').filter(function(a) {
    return a.hostname && a.hostname != window.location.hostname
}).set('target', '_blank');
0 голосов
/ 12 февраля 2011

Я не очень знаком с mootools, но вы пробовали что-то подобное?

Snipplr.com: автоматически отправлять внешние ссылки в новое окно с помощью mootools

... на самом деле вам даже не нужны mootools, вы можете сделать это в ванильном javascript, если вы обеспокоены конфликтами.

0 голосов
/ 12 февраля 2011
$('a').each(function(el){ 
    /* check el.href and if test is true => */ 
    el.set('target','_blank')}
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...