$(document).on是把事件委托到了document上      对的。
$('#idname').on是把事件委托到了元素上面        错的。 事件直接帮到#idname$('.classname').on('click',function(){});       每一个有.classname的元素,绑一个click事件。
所以用$(document).on('click','.classname',function(){}); 比较好,

解决方案 »

  1.   

    看情况是什么情况?那这个委托到document和直接绑定是什么差别呢?
    $(document).on('click','.classname',function(){}); 这种就是只绑定了一个事件,绑定到了document对象,这样理解对吗?
    那如果是只对某个id元素绑定事件,$('#idname').on('click',function(){});这种是不是就更好呢?
      

  2.   


    绑的:
    document.onclick = function(e){
    if(e.className == 'classname')  {
      dofunction;}
     }不绑的;
    classname 有elem1,elem2,elem3
    elem1.onclick = dofunction;
    elem2.onclick = dofunction;
    elem3.onclick = dofunction;