У меня есть функция jQuery, с которой, по сути, можно кликать по всей строке таблицы, но при этом копируется ссылка и дублируется ссылка в каждой дочерней ячейке строки. В моих проектах некоторые ссылки могут содержать события javascript onclick, поэтому мне нужно, чтобы моя функция также могла копировать эти события, но у меня возникают проблемы с этим.
Вот моя текущая функция:
jQuery.fn.linker = function(selector) {
$(this).each(function() {
var from = $(selector, this);
if (from.length > 0) {
var href = from.attr('href');
if (href) {
var link = $('<a href="' + $(selector, this).attr('href') + '"></a>').css({
'text-decoration': 'none',
'display': 'block',
'padding': '0px',
'cursor': 'pointer',
'color': $(this).css('color')
});
$(this).children()
//.css('padding', '0')
.wrapInner(link);
}
}
});
};
Я пробовал разные методы для копирования событий, но не могу заставить его работать:
1) из [0] .events всегда неопределено:
if (from.size() && from[0].events && link.size()) {
var events = from[0].events;
link.each(function() {
for (var type in events) {
for (var handler in events[type]) {
jQuery.event.add(this, type, events[type][handler], events[type][handler].data);
}
}
});
}
2) Кажется, это работает нормально, но нажатие на скопированные ссылки ничего не делает
link.attr('onclick',from.attr('onclick'));