执行完方法之后,a标签还是跳转了。
我该如何在通过js控制。(不在html中控制)
$('.size-list').on('tap', 'li a', function(event) {
event.preventDefault();
$(this).addClass('active');
});
阻止默认行为,不要作用在tap事件上,tap事件底层是touch相关的事件。
应该阻止在click上,a跳转的行为应该是在click上的,因为以前是没有touch事件的,不排除以后或者有的浏览器a跳转的处理的底层是在touch事件上的(个人觉得可能性不大,跳转操作是有延时的)。
你阻止默认行为在touch事件上,自然而然是阻止不了a跳转相关的默认行为的。
所以,你应该调整代码为:
$('.size-list').on('click', 'li a', function(event) {
event.preventDefault();
$(this).addClass('active');
});
多说一句,对于移动端,因为推荐使用touch相关的事件,而不是click事件。对于这种连接处理,我一般不通过href来处理,而是自定义data-href的方式来处理(前提是,需要对操作进行处理的情况哈)。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。