Click事件不适用于jquery中动态更改的类

时间:2013-08-30 08:30:51

标签: javascript jquery html css

我有两个类.btnn和.sleep_avail有时我会将.btnn的锚点的css更改为.sleep_avail

现在我有两个锚点击功能

 $('.btnn').click(function () {
     alert('yes btn');
 });

第二个是

$('.sleep_avail').click(function () {
    alert('yes sleep');
});

现在当我点击带有类sleep_avail的锚点时,它会从btnn类动态更改为btnn写入的事件,我会得到相应的响应。但我需要的是应该提出sleep_avail的事件。请帮助。

3 个答案:

答案 0 :(得分:8)

无论何时,您使用动态创建的标签,都必须使用

$(document).on('#event','#selector',function () {...});

所以这里

$(document).on('click','.sleep_avail',function () {...});

因为事件处理程序绑定到当前元素,所以在调用.on()时它们必须存在于页面上

答案 1 :(得分:2)

以下是工作 DEMO http://jsfiddle.net/ARBdU/

$(document).on('click','.btnn, .sleep_avail',function () {  
 if($(this).hasClass('btnn'))
 {
    ...   
 }
 else if($(this).hasClass('sleep_avail'))
 {      
   ...
 }
});

答案 2 :(得分:1)

<强>尝试

$(document).on('click','.sleep_avail',function () {