Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用on的jQuery选择器_Jquery - Fatal编程技术网

使用on的jQuery选择器

使用on的jQuery选择器,jquery,Jquery,及 两个选择器之间的区别是什么 第一个将绑定到所有当前和未来的锚定标记,而第二个将仅绑定到现有的锚定标记 第一个与使用.delegate()几乎相同,唯一的区别是事件和选择器被交换 编辑:回复评论,因为它相当长 第一种方法对于动态内容或包含大量锚定标记的内容很有用。第一个仅绑定一个事件,该事件侦听在匹配给定选择器的元素上触发的事件。第一个可以重写为$(“#容器”)。委托(“a”,“click”,function())…用于完全相同的功能。在大多数情况下,它比直接将事件绑定到元素要高效得多。但是,


两个选择器之间的区别是什么

第一个将绑定到所有当前和未来的锚定标记,而第二个将仅绑定到现有的锚定标记

第一个与使用
.delegate()
几乎相同,唯一的区别是事件和选择器被交换

编辑:回复评论,因为它相当长

第一种方法对于动态内容或包含大量锚定标记的内容很有用。第一个仅绑定一个事件,该事件侦听在匹配给定选择器的元素上触发的事件。第一个可以重写为
$(“#容器”)。委托(“a”,“click”,function())…
用于完全相同的功能。在大多数情况下,它比直接将事件绑定到元素要高效得多。但是,如果您的内容不是动态的,并且不包含太多锚定标记,则应使用第二段代码,因为它比第一段代码复杂得多

  • 代码片段1:

    将单击事件设置为
    #容器

  • 代码段2:

    将单击事件设置为
    #container


  • 前者将单击处理程序附加到
    #container
    元素,如果单击恰好集中在
    a
    元素上,则该元素将分配一个事件。如果在事件处理程序的分配/绑定之后,
    a
    元素可能会被动态更新、删除或添加,这一点尤其有用

    后者将单击处理程序直接附加到
    #container
    元素中包含的
    a
    元素。这意味着在事件处理程序和函数绑定到DOM中的节点时,这些元素必须存在于DOM中。

    检查


    我猜“a”是一个选择器字符串,用于筛选触发事件的选定元素的后代。如果选择器为null或省略,则事件总是在到达选定元素时触发。

    查看事件委派部分谢谢。我仍然有点困惑。每个选项如何有用是现实生活中的示例。添加了answer to comment to my answer感谢您的澄清。我处理的是动态内容。因此第一个选择器似乎就是答案。第一个选择器与“$”(“#container”)不同。find('a')。on('click',function()')。find将不适用于动态内容,因此在您的情况下,第一个选择器会更好地使用。
    $('#container').on('click', 'a',function()..
    
    $('#container a').on('click',function()..
    
    selector
    A selector string to filter the descendants of the selected elements that
    trigger the event. If the selector is null or omitted, the event is always
    triggered when it reaches the selected element.