You expect that every link be event-binded to only once. You can make a flag to mark if it has been event-binded. so the code is as below.
function supportFunction() {
var myFunction = function(e) {
var regExp = new RegExp('//'+location.hostname+'($|/)');
var href = this.href;
if (regExp.test(href)) {
e.preventDefault();
alert('same domain link'); }
}
var links = document.querySelectorAll('a');
for (var i = 0, len = links.length; i < len; i++) {
var link = links[i];
// make sure add-event only once
if(!link.getAttribute('data-added')) {
link.setAttribute('data-added', 1);
link.addEventListener('click', myFunction);
}
}
}