Это не вопрос о jQuery, а о том, как jQuery реализует такое поведение.Простой javascript для mimic поведения jQuery использования этого в обработчиках событий
В JQuery вы можете сделать это:
$('#some_link_id').click(function()
{
alert(this.tagName); //displays 'A'
})
мог кто-нибудь объяснить в общих чертах (нет необходимости писать код) Как они получают, чтобы передать Вызывающий HTML элементов, входящих мероприятия (ссылку в этом конкретном примере) в ключевое слово?
Я, очевидно, попытался посмотреть 1-й код jQuery, но я не мог понять одну строку.
Спасибо!
UPDATE: согласно Анурагу ответу я решил разместить код в этот момент, потому что кажется проще коду, чем я думал:
function AddEvent(html_element, event_name, event_function)
{
if(html_element.attachEvent) //IE
html_element.attachEvent("on" + event_name, function() {event_function.call(html_element);});
else if(html_element.addEventListener) //FF
html_element.addEventListener(event_name, event_function, false); //don't need the 'call' trick because in FF everything already works in the right way
}
, а затем теперь с помощью простого вызова мы имитируем JQuery поведение с помощью этого в обработчики событий
AddEvent(document.getElementById('some_id'), 'click', function()
{
alert(this.tagName); //shows 'A', and it's cross browser: works both IE and FF
});
Как вы думаете, есть какая-либо ошибка или что-то я неправильно понял, берущий все дело в слишком вирах правдиво?
FF выглядит хорошо, не писал IE определенное событие обработки в течение длительного времени, но если он работает, то это все хорошо! :) – Anurag