[英]Events on dynamically added classes
我有一种形式,其中按钮的类是动态变化的,具体取决于请求来自何处。 我正在尝试捕获onclick事件,但它不包含动态添加的类。 我确保将类添加到按钮。 我哪里出问题了。
片段-
$('.button').removeClass('oldClass');
$('.button').addClass('newClass');
<button class = "button">Button</button>
OnClick-
$('.newClass').click(function(){
alert("test");
});
尽管按钮类已更改为newClass,但是代码并未获得此事件事件。
谢谢
那就是当您绑定click事件时,该元素具有另一个类的原因。
尝试这样的事情:
$('body').on('click', '.newClass', function () {
alert('test');
});
您可以尝试在加载DOM时将点击功能直接添加到按钮上,而仅使用.hasClass()
来检查是否已应用newClass。
$('.button').click(function() {
if($(this).hasClass('newClass')) {
//Code for new class click
alert('test');
}
});
JSFiddle: http : //jsfiddle.net/yRySK/1/
我使用JQuery提供的委托方法解决了该问题。
$('body').delegate('.newClass','click', delegatefunction);
function hasClass() {
alert("Hello!!");
}
谢谢您的帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.