Когда люди отсылают вас к bind
в JavaScript в этом контексте, они, скорее всего, ссылаются на функцию .bind()
jQuery, а не Function.bind
в ECMAScript 5 (ECMAScript - это JavaScript ... по существу).
Как подсказывает @morgancodes в комментариях, концепция, которую вы на самом деле ищете, - это делегирование событий. Если вы хотите узнать, как сделать это в JavaScript, вам нужно взглянуть на PPK DOM Events и узнать о нормализации объекта события в IE. Это много работы, но в итоге оно того стоит.
С другой стороны, если вы хотите обновить код сейчас, вы можете использовать одну из множества библиотек JavaScript, чтобы справиться с нормализацией для вас:
Например, в jQuery вы можете привязать событие клика к вашей ссылке любым из следующих способов:
// Bind the event directly to the element.
// Advantages: clear, quick (to code)
// Disadvantages: not good for dynamically added links
// or in cases where you have a lot of links.
$("your_link_selector").click(function() { /* do your stuff here */ });
// Alternate:
$("your_link_selector").bind("click",function() { /* do your stuff here */ });
// Bind the event to the body and fire it when the selector matches.
// Advantages: works with dynamic content, lots of links.
// Disadvantages: slower than delegate when you have lots of live events.
$("your_link_selector").live("click",function() { /* do your stuff here */ });
// Bind the event to the selected container elements
// Fire the event when the event_selector matches.
// Advantages: works with dynamic content, lots of links.
// Disadvantages: There are disadvantages? ;-)
$("your_container_selector").delegate("your_link_selector",
"click",
function() { /* do your stuff here */ });
Любая из других библиотек JavaScript также сможет справиться с этим - я избегал добавления примеров, чтобы сделать сообщение короче.