Edit in JSFiddle

// https://github.com/baivong/Userscript/tree/master/popup_blocker

var log = document.getElementById('log'),
  $link = $('#jQuery'),
  $linkNew = $('#jQuery_new'),
  link = document.getElementById('pureJs'),
  linkNew = document.querySelector('#pureJs_new'),
  linkPopup = document.getElementById('popup');

$link.click(function() {
  $(log).text($(this).text());
});

$(document).on('click', '#jQuery_new, #internal, #email, #href', function() {
  $(log).text($(this).text());
});

link.onclick = function() {
  log.innerHTML = this.innerHTML;
};

document.onclick = function(e) {
  var el = e.target;
  if (el.id == 'pureJsBound') {
    log.innerHTML = document.getElementById('pureJsBound').innerHTML;
  }
};

linkNew.addEventListener('click', function() {
  log.textContent = this.textContent;
}, false);

document.addEventListener('click', function(e) {
  var el = e.target;

  // for all A tags do the following
  if (el.id == 'pureJs_newBound') {
    log.innerHTML = document.querySelector('#pureJs_newBound').textContent;
  }
}, true);

function internalPopup(e) {
  log.innerText = e.innerText;
  window.open('http://fiddle.jshell.net/baivong/m0njwau7/show/', '_blank');
}

function ignorePopup(e) {
  var ignore = window.open('', 'ignore', 'width=300,height=100');
  ignore.document.body.innerHTML = '<a href="https://github.com/baivong/Userscript" onclick="window.close();" target="_blank">https://github.com/baivong/Userscript</a>';
  log.innerText = e.innerText;
}

function externalPopup(e) {
  log.innerText = e.innerText;
  window.open('https://openuserjs.org/users/baivong', '_blank');
}
<h1 id="log">Log</h1>

<p>
  <a id="normal" class="skip" href="http://jsfiddle.net/baivong/m0njwau7/embedded/result,js,html/" target="_blank">Normal</a> (No click event)
</p>
<p>
  <a id="internal" class="skip" href="//fiddle.jshell.net/baivong/m0njwau7/show/" target="_blank">Internal</a> (Skip)
</p>
<p>
  <a id="email" class="skip" href="mailto:[email protected]?Subject=Userscript%20popup%20blocker">Email link</a> (Skip)
</p>
<p>
  <a id="href" class="skip" href="javascript:alert('Userscript popup blocker');">Javascript link</a> (Skip)
</p>
<p>
  <a id="jQuery" href="http://baivong.github.io/" target="_blank">jQuery Click event</a>
</p>
<p>
  <a id="jQuery_new" href="https://greasyfork.org/vi/users/2590-baivong" target="_blank">jQuery Click event bound</a>
</p>
<p>
  <a id="pureJs" href="http://devs.forumvi.com/" target="_blank">Handle Click event</a>
</p>
<p>
  <a id="pureJsBound" href="https://openuserjs.org/scripts/baivong/popup_blocker" target="_blank">Handle Click event bound</a>
</p>
<p>
  <a id="pureJs_new" href="http://fb.me/Zzbaivong" target="_blank">Listen Click event</a>
</p>
<p>
  <a id="pureJs_newBound" href="https://greasyfork.org/scripts/21101-popup-blocker" target="_blank">Listen Click event bound</a>
</p>
<hr>
<p>
  <button id="popup" class="skip" onclick="ignorePopup(this);">Open Popup</button> (Skip)
</p>
<p>
  <button id="internalPopup" class="skip" onclick="internalPopup(this);">Open internal URL</button> (Skip)
</p>
<p>
  <button id="externalPopup" onclick="externalPopup(this);">Open external URL</button>
</p>
body {
  padding: 20px 20px 300px;
}

a {
  color: #2196F3;
  text-decoration: none;
}

.skip {
  color: #4CAF50;
}