定义一个类's .click - Before元素有这个类
Defining a class's .click - Before element has the class
我有以下代码:
$('.fam.page_edit').click(function(event){
event.preventDefault();
$(this).removeClass('page_edit').addClass("accept");
$(this).parent().parent().removeClass("ikkeskrevet").addClass("kaldt");
});
$('.fam.accept').click(function(event){
event.preventDefault();
$(this).removeClass('accept').addClass("add");
alert("Debug 1.");
$(this).parent().parent().removeClass("kaldt").addClass("skrevet");
});
第一部分运行良好。
班级变了,我觉得没有问题。虽然。当我第二次点击它的时候。类更改后。
没有反应。"Debug 1"没有弹出,在firebug中没有控制台错误。没有。
当你动态添加类时,事件应该被委派,否则在页面加载时没有.fam.accept
classNames元素,jQuery无法找到/选择该元素
$(document).on('click', '.fam.accept', function(event){
// ...
});
注意,事件绑定到元素而不是它们的类名,所以即使删除了page_edit
className,也会执行第一个click处理程序。如果你只想改变类名,你可以使用 .toggleClass()
方法代替。
$('.fam.page_edit').click(function(event){
event.preventDefault();
$(this).toggleClass('page_edit accept');
// ...
});
事件处理程序不附加到任何元素,因为在执行时没有accept
类的元素。尝试在第一次点击事件之后调用这个点击函数。
$('.fam.page_edit').click(function(event){
event.preventDefault();
$(this).removeClass('page_edit').addClass("accept");
$('.fam.accept').click(function(event){
event.preventDefault();
$(this).removeClass('accept').addClass("add");
alert("Debug 1.");
$(this).parent().parent().removeClass("kaldt").addClass("skrevet");
});
$(this).parent().parent().removeClass("ikkeskrevet").addClass("kaldt");
});
相关文章:
- Fancybox是否将Click事件静音
- jQuery:.click(function(){(element),collapse('show',f
- 无法覆盖CSS伪元素:before
- React DOM offsetHeight before rendering
- Angular,表达式{{}}的结果没有插入到ng-click中
- 具有相同类的jquery-click元素
- Ng隐藏在Ng-click元素之外
- document.getElementById(“st”).click();不起作用
- SyntaxError:缺少;before语句使用AJAX
- 无法使以下ng on click outside指令在同一页面上的两个元素上工作
- 将代码放入click函数时出现javascript问题
- 将参数中类似形式的ID传递给函数click()
- 如何在ng-click中传递php对象
- 如何将以下“.click”转换为切换
- AngularJs的ng-click$事件将子元素作为目标传递
- angularjs-bindng-click从jquery动态加载DOM
- jsplumb中的Click事件处理程序丢失“;这个“;对象
- jquery on click事件来显示内容
- 定义一个类's .click - Before元素有这个类
- 无法在::before和::after之间的标记上使用jQuery的click函数