点击事件是页面跳转
当点击事件是页面跳转时,不太适合显示加载框,但小程序的页面跳转并不是很快,如果不作处理又会导致用户反复点击打开多个页面,这里可以使用限制按钮或控件的点击间隔的方式处理,同样可以将这个方法放到公共的代码里面比如util,然后在使用时直接调用即可。
function buttonClicked(self) { self.setData({ buttonClicked: true }) setTimeout(function () { self.setData({ buttonClicked: false }) }, 500) }
首先需要在页面对应的js文件里面增加一个buttonClicked数据对象,然后在点击事件里面调用上述方法。
Page({
data: {
buttonClicked: false
},
click: function (e) {
util.buttonClicked(this);
var id = e.currentTarget.dataset.id;
wx.navigateTo({
url: '../detail/detail?id=' + id
}) },
})
另外,在wxml的点击控件中通过buttonClicked判断是否可以点击,可以用bindtap也可以用disabled
<view bindtap="" data-id="" />
<button bindtap="" data-id="" />
<button bindtap="click" disabled="buttonClicked" data-id="" />