Вы используете document.querySelector, чтобы получить элемент по идентификатору, для этого вам нужно добавить #
перед идентификатором. document.querySelector('btn2')
-> document.querySelector('#btn2')
. Я бы порекомендовал вам заменить document.querySelector
на document.getElementById
, так как это быстрее и это то, что вы должны использовать.
var controller=(function()
{
document.getElementById('btn2').addEventListener('click',function()
{
console.log('hello');
});
})();
<button id="btn2" value="value1" ><i class="fa fa-check"></i></button></div>