📜  jQuery 中 live() 和 bind() 方法的区别

📅  最后修改于: 2021-11-25 03:14:08             🧑  作者: Mango

在查看 jQuery 之间的差异之前 live()bind()方法,让我们简要了解这两种方法。

live():此方法用于将一个或多个事件处理程序附加到所选元素。我们为每个事件指定一个函数,以便当该事件发生时,关联的函数将执行。这种方法也适用于未来的元素。当我们讨论这两种方法之间的区别时,我们就会明白这一点。

句法:

$(selector).live(event,function)

参数:

  • event:它指定要与选择器附加的事件。
  • 函数 :它是在特定事件发生时将执行的函数。

示例:我们正在附加一个 单击“p”标签的事件。当我们点击任何“p”标签时,与点击事件相关的函数就会被执行,所有“p”标签的颜色都会变成红色。

HTML

  

    
    

  

    
        

Hello geeks

           
            

Hey Geeks

           
        

Hello geeks

       
    


HTML

  

    
    

  

    

Hello Geeks

    


HTML

  

    
    

  

      

Hello

          


输出:

live() 方法

注意:该方法在jQuery 1.9 版本中被移除,请使用on()方法。

bind():该方法还用于将事件附加到选择器并指定事件发生时将执行的函数。此方法仅适用于当前元素。

句法:

$(selector).bind(event,function)

范围:

  • event:它指定要与选择器附加的事件。
  • 函数:它指定在特定事件发生时将执行的函数。

示例:以下示例仅演示了bind()方法及其执行。

HTML


  

    
    

  

    

Hello Geeks

    

输出:

简单的 bind() 示例

live() 和 bind() 方法的区别: live()bind()方法几乎相同。两者都用于将事件附加到元素。在live()方法中,事件处理程序附加到元素,并将为现在和未来的元素工作。

解释:假设,我们的页面上有一个“p”标签,并且我们已经附加了一个点击事件。现在每当我们点击“p”标签时,相关的函数就会被执行。如果我们使用另一个“p”标签附加到我们的 HTML 中 append()方法,现在如果我们点击这个“p”标签,事件发生并且相关的函数将执行。这意味着live()方法也适用于未来的元素。

另一方面, bind()方法仅适用于当前元素。

说明:我们有一个“p”标签,我们在这个标签上附加了来自live()bind()方法的点击事件。

我们还在运行时向我们的页面添加另一个“p”标签(未来的“p”标签)。当我们点击第一个“p”标签时,我们会看到两个警告框,一个来自两种方法。但是当我们点击未来的“p”标签时,只有live()方法被执行,因为bind()方法对未来的元素不起作用。

例子:

HTML


  

    
    

  

      

Hello

          

输出: