Я хочу отключить целую кучу объектов на странице, а затем снова включить их позже. Поскольку некоторые из них являются тегами, а не кнопками, я отключил их, удалив их атрибут onclick. Я пытался сохранить старый обработчик в .data (), но, к сожалению, когда я пытаюсь восстановить их с помощью $ (obj) .attr ('onclick', $ (obj) .data ('onclick') )
, он вызывает функцию, а не восстанавливает ее в атрибуте. И если я попытаюсь сохранить его в другом атрибуте вместо данных, он не сохранит функцию, он сохранит возвращаемое значение для функции.
Есть ли какой-либо способ сделать это без повторной записи каждого тега и каждый обработчик onclick на моей странице?
if( doEnable) {
$(obj).attr('href', $(obj).data('href'));
$(obj).attr('onclick', $(obj).data('onclick'));
$(obj).removeClass(EIS.config.classes.disabled);
$(obj).show();
}
else {
// Save the things you're going to remove
$(obj).data('onclick', $(obj).attr('onclick'));
$(obj).data('href', $(obj).attr('href'));
$(obj).prop("href", null);
$(obj).prop("onclick", null);
$(obj).addClass(EIS.config.classes.disabled);
$(obj).show();
}
Между прочим, этот код работает нормально в Chrome и Firefox, но только иногда в IE8 и никогда в IE6. К сожалению, клиент сначала тестирует IE6.