欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 微信小程序历险记:表单取值为字符串,生命周期,bindtap事件遇上bindtouchend事

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:740

高端HTML5响应式企业通用网

2020-05-06   浏览:521

html5响应式外贸网站英文版

2020-05-08   浏览:510

HTML5自适应律师工作室类网

2020-04-04   浏览:504

HTML5影视传媒文化公司类网

2020-05-12   浏览:500

微信小程序历险记:表单取值为字符串,生命周期,bindtap事件遇上bindtouchend事

发布时间:2020-11-29  

分享者:meahu,来自原文地址

 

一:表单取值为字符串

input 有这样的事件:bindinput、bindfocus、bindblur、bindconfirm,通过这些事件能拿到表单的相关信息。 

 

function bindinput(e){

var number = e.detail.value;

console.log(number>80);

},

通过 e.detail.value 拿到的值是字符串类型,当拿它来直接进行数值大小比较时,奇迹就发现了。  当在表单输入,1、10、50。诶,你会发现正常。控制台打印false  然而当在表单输入9,奇迹就出现了!控制台打印 true  原因呢?表单输入虽然是数字,但 number 取到的值是字符串导致。比较也就是进行字符串比较了,’9’自然比’80’大。  所以,对于数值比较,需先使用 parseInt 进行处理再比较。

 

二:生命周期

小程序退出后,没有直接销毁,而是进入了后台;只有当小程序进入后台一定时间(大于15分钟),或者系统资源占用过高,才会被真正的销毁。在小程序没被销毁前,再次打开小程序时,打开的是退出的页面。  红米3退出小程序15分钟后进入时还没被销毁,进入的是退出的页面。  如果有每次进入小程序都是首页的需求,可以在小程序进入后台时跳转回首页。

 

三:bindtap事件遇上bindtouchend事件,bindtouchend事件先触发

现有某元素同时绑定了两个事件:bindtap、bindtouchend

wxml:

 

<view bindtouchend="touchend" bindtap="tap">事件之旅1</view>

 

<view bindtouchend="touchend">

<view bindtap="tap">事件之旅2</view>

</view>

 

<view bindtap="tap">

<view bindtouchend="touchend">事件之旅3</view>

</view>

js:

 

touchend: function(e){

console.log('touchend事件');

}

 

tap: function(e){

console.log('tap事件');

}

接下来,我们来点击这些文字,不管是事件之旅1、事件之旅2、事件之旅3,都会是 touchend 事件先触发,先打印“touchend 事件”,后打印“tap事件”。为什么呢?我的理解是这样:我们对该元素的动作是手指触摸,手指离开。而手指离开就是手指触摸动作结束(触发了 touchend 事件),然后计算该动作是否为长按,不是长按触发了 tap 事件。