MUI框架a链接href跳转失效、使用jquery之后click方法失效问题

本文介绍了mui框架中click事件失效的问题及解决方法,包括使用tap事件替代、批量绑定tap事件、利用addEventListener绑定单个元素等方案,并解决了<a>链接href跳转失效的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、使用jquery之后click方法失效问题   

  怎么点都没效果,还以为我哪里写错了,纠缠了好久,然后发现点边边可以有效,只好搜索了半天关键词,原来:

  • mui框架屏蔽了click方法
  • 屏蔽了<a>链接href跳转

(吃多了吧……敲打顺便吐槽一下mui的api,做的毫无重点,还没实例,自己屏蔽了东西也不说清楚)

来自网上的大神们的解决方法
★ 解决方法1:批量绑定/取消绑定
mui("#fuji").on('tap', '.dianji', function(event){
alert('111');//要运行的事件
});

.dianji是要绑定点击click的元素,#fuji是他的父级(奇怪的绑定)

//点击li时,执行foo_1函数
mui("#list").on("tap","li",foo_1);
//点击li时,执行foo_2函数
mui("#list").on("tap","li",foo_2);

function foo_1(){
  console.log("foo_1 execute");
}

function foo_2(){
  console.log("foo_2 execute");
}
//点击li时,不再执行foo_1函数,但会继续执行foo_2函数
mui("#list").off("tap","li",foo_1);
//点击li时,foo_2、foo_2两个函数均不再执行
mui("#list").off("tap","li");

★ 解决方法2:给tap绑定click,恢复click使用
mui("#fuji").on('tap', '.dianji', function (event) {
this.click();
});
$('.dianji').click(function(){
		alert(1);
	})
据说:在button上面绑定click事件是可以执行的(没验证)

★ 解决方法3:addEventListener绑定单个元素

on的用法,只能on MUI('xxxx') xxxx的子元素。
比如mui('body').on('tap','a',function(){})

这样就绑定了所有的A标签元素了。单独绑定一个的话,就直接用addEventListener就行了。

用法:

$('.btn1').addEventListener('tap', function () {
var _self = this;
})


♦ mui下拉刷新时,click事件无法响应,如果下拉列表项中有其他事件:(还没用到,先备注着)
mui("#refreshContainer").on('tap', '.icon-comment', function (event) {
this.click();
event.stopPropagation();//阻止li事件的点击
});

据说:如果页面除了mui.js外,还用了zepto.js  ,那么很糟糕的是,这个tap事件会执行2次。有个解决的办法就是,去掉zepto的touch模块(可以使用node定制zepto)

二、<a>链接href跳转失效


又是mui的坑,好像有的部分可以有的部分不行。

♦ 原因:mui相关的一些控件是通过拦截a标签上的href来实现的,所以mui.js会阻止a标签上的href跳转,因此需使用JS对标签添加事件监听。

解决方法:

// 监听tap事件,解决 a标签 不能跳转页面问题
mui('body').on('tap','a',function(){document.location.href=this.href;});

其中a和body可替换为任意需要解决的<a>元素及其父级

据说:最新版的mui支持微信下使用,mui.openWindow方法在普通手机浏览器及微信环境下,会自动执行href跳转


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值