我遇到了一些关于某些jQuery代码的分类基础问题的问题,我想知道我是做错了什么或遇到了一个错误(可能是第一个)。
见这个例子:
// Expecting only one run
// Instead it keeps triggering
$('.switch').click(function () {
// Show message with active classes
var classes = $(this).attr('class');
alert('Classes: '+classes);
// Remove class, it shouldn't trigger again?
$(this).removeClass('switch')
})
(http://jsfiddle.net/aK6FB/2/)
我有一个带有类的简单HTML标记。 jQuery脚本匹配该类并将其绑定到click事件。如果事件被触发,它将删除该类,因此,我希望它不会再次匹配(换句话说:它应该只执行一次)。
但是,代码每次都会执行。这是正常行为吗?
答案 0 :(得分:0)
使用事件委托进行dom更改:
$(document).on('click','.switch',function () {
var classes = $(this).attr('class');
alert('Classes: '+classes);
$(this).toggleClass('switch')
});
<强> working demo 强>
答案 1 :(得分:0)