为了账号安全,请及时绑定邮箱和手机立即绑定

如何控制Javascript( jquery)的触发时间?

如何控制Javascript( jquery)的触发时间?

杨魅力 2019-04-09 20:25:43
我的页面上有一列button按钮,点击其中的一个后,浏览器跳到新页面,然后会给这个被点击的button添加active属性.并且其他的button去掉active属性.我的做法是:$("#my_buttona").click(function(e){$('a.active').removeClass('active');//去掉active属性$(e.target).addClass('active');//被点击的button添加active属性});问题来了,上面的删除和添加样式都成功了,但是由于点击后页面跳转了,不知道为什么,所有的样式都恢复默认了(即没点击之前)..是因为页面跳转的原因吗,如果是,那么能够在页面跳转后再执行JS吗?或者,是我的做法有问题?谢谢.
查看完整描述

2 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

其实你只要按照后端语言的想法给传参就好了...
varButtons=document.querySelectorAll('#my_buttona'),
ActiveButton=location.hash.substr(2)||'';
if(ActiveButton){Buttons[ActiveButton].classList.additem('active')}
for(vari=0,l=Buttons.length;i(function(number){
Buttons[number].onclick=function(e){
e.preventDefault();
location.href=this.href+'#!'+number
}
})(i);
}
                            
查看完整回答
反对 回复 2019-04-09
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

通过锚点,来传递某些参数是一个可行的做法。
btn1
//new.html
$(function(){
//去掉所有actibe
$('.J-all-btn').removeClass('active')
//给当前btn加上active
$('#'+location.hash.substring(1)).addClass('active')
})
                            
查看完整回答
反对 回复 2019-04-09
  • 2 回答
  • 0 关注
  • 351 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信