.click()不适用于稍后加载的span类

Emm*_*t B 2 javascript jquery

在我的主页面中,我有一个"音乐"按钮,它会加载music.txt

的script.js

$("#music").load("music.txt");
$('.song').click(function () {  ... });
Run Code Online (Sandbox Code Playgroud)

music.txt:

 <span class="song"> bl </span>
Run Code Online (Sandbox Code Playgroud)

$('.song').click不起作用music.txt(它适用于主页).我试着live()delegate()为好.

Dip*_*mar 9

使用.on()jQuery方法.

$('.song').on('click',function () { /*...*/ });
Run Code Online (Sandbox Code Playgroud)

要么

$(document).on('click','.song',function(){ /*...*/ });
Run Code Online (Sandbox Code Playgroud)

因为.live()较新版本已弃用.

在第一个示例中,该.on()方法的行为类似于bind并且仅适用于已存在的元素.

第二个例子表现得像.live()delegate()在很多方面.并将适用于以后添加的元素.

  • 是的先生!`.on()`替换了旧的`.live()`. (2认同)