jQuery On vs Click (v12)

Revision 12 of this benchmark created on


Description

.on('click', ... vs .click(...

Preparation HTML

<div id="Container">
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1">link</span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1"><input type="button" value="Button 1" class="input1" id="input1"></span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1"><input type="button" value="Button 2" class="input1" id="input2"></span></a>
  </div>
  <div class="d1">
    <a class="a1" href="#"><span class="s1"><input type="button" value="Button 3" class="input1" id="input3"></span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2">link2</span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2"><input type="button" value="Button 4" class="input2" id="input4"></span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2"><input type="button" value="Button 5" class="input2" id="input5"></span></a>
  </div>
  <div class="d2">
    <a class="a2" href="#"><span class="s2"><input type="button" value="Button 6" class="input2" id="input6"></span></a>
  </div>
  <input type="button" value="Button 7" class="input1" id="input7">
  <input type="button" value="Button 8" class="input2" id="input8">
</div>
<script src="//code.jquery.com/jquery-2.0.3.min.js"></script>

Teardown


    $('#input1').off();
    $('.input1').off();
    $('#input1').unbind();
    $('.input1').unbind();
    
  

Test runner

Ready to run.

Testing in
TestOps/sec
click #id
$('#input1').click(function() {
  alert('hello');
});
ready
on #id
$('#input1').on('click', function() {
  alert('hello');
});
ready
click .class
$('.input1').click(function() {
  alert('hello');
});
ready
on .class
$('.input1').on('click', function() {
  alert('hello');
});
ready
on. #id.class
$('#Container').on('click', '.input1', function() {
  alert('hello');
});
ready
document on with class
$(document).on('click', '.input1' ,function() {
  alert('hello');
});
ready
document on with ID
$(document).on('click', '#input1' ,function() {
  alert('hello');
});
ready
DOM #id click
if (document.getElementById('input1') != null){
document.getElementById('input1').onclick = function () { alert('hello'); }
}
ready
DOM class click
for (var i in document.getElementsByClassName('input1')){
  document.getElementsByClassName('input1')[i].onclick = function() { alert('hello'); }
}
ready
DOM #id.class
if (document.getElementById('input1') != null){
for (var i in document.getElementById('input1').getElementsByClassName('input1')){
  document.getElementById('input1').getElementsByClassName('input1')[i].onclick = function() { alert('hello'); }
}
}
ready
DOM query #id click
if (document.querySelector('#input1') != null){
document.querySelector('#input1').onclick = function() { alert('hello'); }
}
ready
DOM query class click
for (var i in document.querySelectorAll('.input1')){
  document.querySelectorAll('.input1')[i].onclick = function() { alert('hello'); }
}
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.