【发布时间】:2013-08-21 19:47:59
【问题描述】:
我有一个表单,其中按钮的类是动态变化的,具体取决于请求的来源。我正在尝试捕获 onclick 事件,但它不包含动态添加的类。我确保该类被添加到按钮中。我哪里出错了。
片段 --
$('.button').removeClass('oldClass');
$('.button').addClass('newClass');
<button class = "button">Button</button>
点击--
$('.newClass').click(function(){
alert("test");
});
虽然按钮类已更改为 newClass,但代码未到达此事件事件。
谢谢
【问题讨论】:
-
您选择元素,并将处理程序绑定到匹配的元素。如果元素在选择时没有该类,则不会被选中,因此不会绑定处理程序。
-
JQuery 在 DOM 对象加载时应用点击功能(当您第一次刷新页面时)。由于此时按钮没有新类,因此它永远不会为其设置点击功能。
-
在示例中,我将事件绑定到 newClass 名称..
-
@Fox:我再说一遍。您正在根据类选择元素。如果元素在选择时没有该类,则不会被选中,因此不会绑定处理程序。
-
你是如何动态添加元素的?
标签: javascript jquery events onclick