Другая альтернатива, возможно, не такая элегантная, как использование bind, но она действительна для событий в цикле
for (var key in catalog){
document.getElementById(key).my_id = key
document.getElementById(key).addEventListener('click', function(e) {
editorContent.loadCatalogEntry(e.srcElement.my_id)
}, false);
}
. Она была протестирована для расширений google chrome и, возможно, e.srcElement должна быть заменен на e.source в других браузерах
Я нашел это решение, используя комментарий , отправленный Imatoria , но я не могу отметить его как полезный, потому что я не имеют достаточную репутацию: D
Не существует instanceof, но вы можете получить имя класса в виде строки, а затем перейти оттуда:
${myObj.class.name} would return "com.test.MyObj"
${myObj.class.simpleName} would return "MyObj"