I've confirmed that this happens in the most recent version of vue and vue-router. const target = e.currentTarget.getAttribute('target') if (/\b_blank\b/i.test(target)) return The problem is that this block of code isn't necessarily testing the generated <a> tag due to the use of "currentTarget".