|
分享者:meahu,來自原文地址 一:表單取值為字符串
input 有這樣的事件:bindinput、bindfocus、bindblur、bindconfirm,通過這些事件能拿到表單的相關(guān)信息。
通過 e.detail.value 拿到的值是字符串類型,當(dāng)拿它來直接進(jìn)行數(shù)值大小比較時,奇跡就發(fā)現(xiàn)了。 當(dāng)在表單輸入,1、10、50。誒,你會發(fā)現(xiàn)正常??刂婆_打印false 然而當(dāng)在表單輸入9,奇跡就出現(xiàn)了!控制臺打印 true 原因呢?表單輸入雖然是數(shù)字,但 number 取到的值是字符串導(dǎo)致。比較也就是進(jìn)行字符串比較了,’9’自然比’80’大。 所以,對于數(shù)值比較,需先使用 parseInt 進(jìn)行處理再比較。 二:生命周期小程序退出后,沒有直接銷毀,而是進(jìn)入了后臺;只有當(dāng)小程序進(jìn)入后臺一定時間(大于15分鐘),或者系統(tǒng)資源占用過高,才會被真正的銷毀。在小程序沒被銷毀前,再次打開小程序時,打開的是退出的頁面。 紅米3退出小程序15分鐘后進(jìn)入時還沒被銷毀,進(jìn)入的是退出的頁面。 如果有每次進(jìn)入小程序都是首頁的需求,可以在小程序進(jìn)入后臺時跳轉(zhuǎn)回首頁。 三:bindtap事件遇上bindtouchend事件,bindtouchend事件先觸發(fā)現(xiàn)有某元素同時綁定了兩個事件:bindtap、bindtouchend wxml:
js:
接下來,我們來點(diǎn)擊這些文字,不管是事件之旅1、事件之旅2、事件之旅3,都會是 touchend 事件先觸發(fā),先打印“touchend 事件”,后打印“tap事件”。為什么呢?我的理解是這樣:我們對該元素的動作是手指觸摸,手指離開。而手指離開就是手指觸摸動作結(jié)束(觸發(fā)了 touchend 事件),然后計算該動作是否為長按,不是長按觸發(fā)了 tap 事件。 |