1、bindtap 绑定点击事件
// wxml 代码:
<view class="type" bindtap='clickToDetail' id="{
{item.id}}" data-title="西湖" data-place="杭州">
</view>
// js 代码:
clickToDetail: function(e){
console.log(e.currentTarget) // 通过console.log查看数据,获取需要的数据
var title = e.currentTarget.dataset.title,
place = e.currentTarget.dataset.place;
wx.navigateTo({ // 此处是页面跳转方法,这种方法仅限非 tabBar 页面,tabBar 页面用 wx.switchTab 方法
url: '../detail/detail?title=' + title +'&place='+ place,
})
}
// 在 detail 的 js 页面,在 onload 预加载周期函数中,可获得该参数:
onLoad: function (options) {
console.log(JSON.stringify(options)); // 查看数据
var title = options.title,
place = options.place;
}
2、bindinput 监听 input 输入框的输入 与 节流
// wxml 代码:
<input class='searchInput' value="{
{keyWord}}" type="text" confirm-type="search" bindconfirm="searchIt" bindinput="inputValue"/>
// 这种写法 bindconfirm 绑定的函数在点击软键盘右下角回车键时,触发 searchIt 函数
// confirm-type="search" 写法,使右下角回车键显示为 ‘搜索’
js 代码:
// 实时监听输入框的 关键词,放到 data 中
inputValue: function(e){
var keyWord = e.detail.value; // keyWord 为输入的值
// 假设现在需要检测到用户输入的值,用户 400 毫秒内没有继续输入就将该值打印出来
this.throttle(this.queryData, null, 400, keyWord);
},
// 节流
throttle: function(fn, context, delay, text) {
clearTimeout(fn.timeoutId);
fn.timeoutId = setTimeout(function () {
fn.call(context, text);
}, delay);
},
// 想要执行的函数
queryData: function(e){
console.log(e) // 此处打印出来的就是 用户输入的值
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/234489.html原文链接:https://javaforall.cn