Вы не можете легко (и, вероятно, не должны) «копировать» событие. То, что вы можете сделать, это использовать одну и ту же функцию для обработки каждого:
var clickHandler = function() { alert('click'); };
// or just function clickHandler() { alert('click'); };
$('#firstEl').click(clickHandler);
// and later
$('#secondEl').click(clickHandler);
В качестве альтернативы вы можете запустить событие для первого элемента во втором обработчике:
$('#firstEl').click(function() {
alert('click');
});
$('secondEl').click(function() {
$('#firstEl').click();
});
Редактировать: @nickf беспокоится о загрязнении глобального пространства имен, но этого почти всегда можно избежать, заключив код в объект:
function SomeObject() {
this.clickHandler = function() { alert('click'); };
}
SomeObject.prototype.initFirstEvent = function() {
$('#firstEl').click(this.clickHandler);
};
SomeObject.prototype.initSecondEvent = function() {
$('#secondEl').click(this.clickHandler);
};
или оборачивая ваш код в анонимную функцию и вызывая ее немедленно:
(function() {
var clickHandler = function() { alert('click'); };
$('#firstEl').click(clickHandler);
$('#secondEl').click(clickHandler);
})();