form_email.onsubmit - свойство, которому можно присвоить какое угодно значение. Но все сошлись на том, что было бы неплохо там всё-таки функцыию подставлять. И она исполняется при возникновении события submit. Посмотрите любой DOM элемент в инспекторе браузера, там этих on* свойств вагон будет. Соответственно, таким образом можно назначить только один обработчик события для одного элемента.
А addEventListener вообще по другому работает и позволяет навесить сколько угодно обработчиков одного события для одного и того же элемента.
И вот эти вещи никак не пересекаются между собой.
P.S. Учите английский, без него вы далеко не уедете.
IvankoPo: из найденных решений основные - сделать два отдельных элемента, один для фона, другой для контента и расположить их один над другим. Ну и размывать, следовательно, элемент с фоном.
this[prefix] — вы тут к свойству (несозданному) обращаетесь, а не создаёте его.
Плюс оно должно быть, по вашей задаче, не в экземпляре, а в самом классе. Статическим.
BarcodeGenerator.prefix — статическое свойство, и задаваться должно соответственно.
Символьное свойство — всегда вычисляемое, то есть ключом является сам символ, а не его значение.