2009-08-18 3 views
0

Как я могу перевести следующий jQuery idiom в YUI?Перевод jquery idiom в YUI

$("a").click(function(event){ 
    alert("Saw a click!"); 
    }); 

Вышеупомянутый должен добавить пользовательское событие на клик ко всем привязным тегам в документе.

ответ

2

Лучше использовать событие делегации

YUI 3 *

Y.delegate('click', function (e) { 
    alert("Click received"); 
}, document, 'a'); 

или

Y.get(document).delegate('click',fn, 'a'); 

YUI 2

YAHOO.util.Event.on(document,'click',function (e) { 
    var target = YAHOO.util.Event.getTarget(e); 
    if (target.nodeName && target.nodeName.toLowerCase() === 'a') { 
     alert("Click received"); 
    } 
}); 
  • YUI 3 бета-релиз содержит ошибку в делегат, который предотвращает слушателей документов из за работой. Это исправлено для предстоящей версии GA.
5

YUI 3

Y.all('li').on('click', function() { 
     alert('Clickety-click!'); 
    }); 

YUI 2

var lis = document.getElementsByTagName("li"); 
YAHOO.util.Event.addListener(lis, 'click', function() { 
     alert('Clickety-click!'); 
    }); 

Ответы от: Translate the following jQuery code to YUI 2.x code

также: YUI 3 будет поддерживать цепочки операций, до тех пор пока использовать dedchain библиотеку из dechain.dustindiaz .com

+0

Ваш пример YUI2 может быть меньше, если вы удалите промежуточную переменную «lis». – Tivac