Javascript jquery addClass()在removeClass()之后不工作
我有两个jquery函数。调用第一个函数类时,将删除两个onclick属性 但是在调用函数删除类之后,第二个函数将不起作用,因此不能再添加类和onclick事件 编辑1:如前所述,第一个功能正在工作!onclick事件正在更改,类正在删除。在第二个函数中再次添加相同的类和函数时,它不起作用!当添加一个新类时,它正在工作,但当添加一个已删除的类或onclick事件时,它不工作强> 代码如下:Javascript jquery addClass()在removeClass()之后不工作,javascript,jquery,Javascript,Jquery,我有两个jquery函数。调用第一个函数类时,将删除两个onclick属性 但是在调用函数删除类之后,第二个函数将不起作用,因此不能再添加类和onclick事件 编辑1:如前所述,第一个功能正在工作!onclick事件正在更改,类正在删除。在第二个函数中再次添加相同的类和函数时,它不起作用!当添加一个新类时,它正在工作,但当添加一个已删除的类或onclick事件时,它不工作 代码如下: // show info function showKursInfo() { $(".kright")
// show info
function showKursInfo() {
$(".kright").removeClass("kursMobileOpen");
$(".kleft").removeClass("kursMobileInfo");
$(".kright").attr("onclick","#");
$(".kheader").attr("onclick","hideKursInfo('someInfo');");
}
// hide info
function hideKursInfo() {
$(".kright").addClass("kursMobileOpen");
$(".kleft").addClass("kursMobileInfo");
$(".kright").attr("onclick","showKursInfo('someInfo');");
$(".kheader").attr("onclick","#");
}
谢谢你的帮助
对于那些不喜欢这个问题的人:请告诉我为什么这个问题不好?不要使用
attr
注册点击事件。使用单击
或上的
// show info
function showKursInfo() {
$(".kright").removeClass("kursMobileOpen");
$(".kleft").removeClass("kursMobileInfo");
$(".kright").off("click");
$(".kheader").on("click", hideKursInfo);
}
// hide info
function hideKursInfo() {
$(".kright").addClass("kursMobileOpen");
$(".kleft").addClass("kursMobileInfo");
$(".kright").on("click", showKursInfo);
$(".kheader").off("click");
}
不要对注册单击事件使用attr
。使用单击
或
上的
// show info
function showKursInfo() {
$(".kright").removeClass("kursMobileOpen");
$(".kleft").removeClass("kursMobileInfo");
$(".kright").off("click");
$(".kheader").on("click", hideKursInfo);
}
// hide info
function hideKursInfo() {
$(".kright").addClass("kursMobileOpen");
$(".kleft").addClass("kursMobileInfo");
$(".kright").on("click", showKursInfo);
$(".kheader").off("click");
}
请添加HTML代码,如果可能,请添加到codepen或JSFIDLE以查看问题。您不需要使用jQuery设置onclick
属性。关键是它为您提供了一组事件方法:@BadHorsie,但由于类的原因,这实际上不是一个解决方案,这是主要问题!已经投票通过了,顺便说一句,attr的作用是什么?请添加HTML代码,如果可能的话,添加到codepen或JSFIDLE以查看问题。您不需要使用jQuery设置onclick
属性。关键是它为您提供了一组事件方法:@BadHorsie,但由于类的原因,这实际上不是一个解决方案,这是主要问题!顺便说一句,attr支持什么?这并不能解决类的问题原因。那么你应该给我们更多的代码、错误或其他东西。因为它是这样工作的。请参阅此处:@moritzm3为了证明您的旧代码不起作用:@moritzm3您使用kheader click侦听器到底想实现什么@eisbehrs是对的onclick attr有点混乱,这并不能解决类的问题。那么您应该给我们更多的代码、错误或其他信息。因为它是这样工作的。请参阅此处:@moritzm3为了证明您的旧代码不起作用:@moritzm3您使用kheader click侦听器到底想实现什么@eisbehrs是对的,因为单击attr有点混乱