面对微信小程序,可能没有像我们平时使用JQuery那样随心所欲。本篇就是为了解决这个问题。

请合理使用工具!

细节就不说了,直接备份一个实现的案例:

wxml

<view class="guess" >
<view>
<image data-data_auto = "{{ac[index]}}" data-index="{{index}}" data-num="1" data-id="{{item.a_team_id}}" bindtap="{{item.bet==true?'chooseMe':'none'}}" mode="widthFix" src="{{ ac[index] === 1 ?'../images/sheng0.png':'../images/sheng2.png'}}" class="img"></image>
</view>
<view>
<image data-data_auto = "{{ac[index]}}" data-index="{{index}}" data-num="0" data-id="0" bindtap="{{item.bet==true?'chooseMe':'none'}}" mode="widthFix" src="{{ ac[index] === 0 ?'../images/ping0.png':'../images/ping2.png'}}" class="img"></image>
</view>
<view>
<image data-data_auto = "{{ac[index]}}" data-index="{{index}}" data-num="2" data-id="{{item.b_team_id}}" bindtap="{{item.bet==true?'chooseMe':'none'}}" mode="widthFix" src="{{ ac[index] === 2 ?'../images/sheng0.png':'../images/sheng2.png'}}" class="img"></image>
</view>
</view>

wxs:

//设置WXML的数据
that.setData({
eventArray: res.data.data.data,
active_bet: res.data.data.active_bet,
ac:setActive(res.data.data.data)
}); //重要:创建新DOM绑定数据
function setActive($data) {
let new_data = [];
for(let i = 0;i<$data.length;i++){
new_data[i] = 1;
}
that.ac = new_data;
return new_data;
}

Event:

//事件解发
chooseMe(e) {
console.log(this.ac);
let keys = e.target.dataset.index;
this.ac[keys] = parseInt(e.target.dataset.num);
},

  

基本原理就是:自定义DOM

微信小程序Dom事件实现的更多相关文章

  1. 微信小程序中事件

    微信小程序中事件 一.常见的事件有 类型 触发条件 最低版本 touchstart 手指触摸动作开始 touchmove 手指触摸后移动 touchcancel 手指触摸动作被打断,如来电提醒,弹窗 ...

  2. 微信小程序自定义事件

    案例结构 首先,我还是会以案例的形式向大家讲解(这样也能方便大家更好的理解)简单介绍一下案例项目的内容(以上一章自定义组件的案例为基础)项目名称:component自定义子组件cpt父组件:logs ...

  3. 微信小程序(三)-事件绑定

    小程序事件绑定 https://developers.weixin.qq.com/miniprogram/dev/framework/view/two-way-bindings.html 1.数据 / ...

  4. 微信小程序:事件绑定

    小程序中绑定事件,通过bind关键字来实现.如bindinput,bindtap(绑定点击事件),bindchange等. 什么是事件 事件是视图层到逻辑层的通讯方式. 事件可以将用户的行为反馈到逻辑 ...

  5. 微信小程序的事件

    事件,视图层到逻辑层的一种通讯方式,或者将用户的行为返回到逻辑层,当我们在组件绑定事件之后,当我们触发事件,就会执行逻辑层绑定的事件,处理回调函数,当页面的事件触发之后 页面上元素一些额外事件,通过事 ...

  6. 微信小程序之 -----事件

    事件分类      1. 冒泡事件:     当一个组件上的事件被触发后,该事件会向父节点传递.      2. 非冒泡事件:   当一个组件上的事件被触发后,该事件不会向父节点传递.   常见的冒泡 ...

  7. 微信小程序-视图事件

    事件 什么是事件 事件是视图层到逻辑层的通讯方式. 事件可以将用户的行为反馈到逻辑层进行处理. 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数. 事件对象可以携带额外信息,如 ...

  8. 微信小程序-bindtap事件与冒泡

    bindtap就是点击事件 在.wxml文件绑定: <text id='textId' data-userXxx='100' bindtap='tapMessage'>cilck here ...

  9. 微信小程序:冒泡事件及其阻止

    事件的类别分为几种: 点击事件:tap 长按事件:longtap 触摸事件:touchstart: touchend:touchcancel:touchmove 其他:input:submit.... ...

随机推荐

  1. [2018福大至诚软工助教]alpha阶段小结

    [2018福大至诚软工助教]alpha阶段小结 一.得分 1. 冲刺(7次 Scrum) 150分 1)第1篇(25分) 项目 评分标准 各个成员在 Alpha 阶段认领的任务 (6分)视详细程度给分 ...

  2. UnderWater+SDN论文之六

    Protocol Emulation Platform Based on Microservice Architecture for Underwater Acoustic Networks Sour ...

  3. An error occurred while updating the entries. See the inner exception for details.

    EF插入或更新数据时出现错误提示:An error occurred while updating the entries. See the inner exception for details.的 ...

  4. Python_迭代器、生成器、列表推导式,生成器表达式

    1.迭代器 (1)可迭代对象 s1 = ' for i in s1: print(i) 可迭代对象 示例结果: D:\Python36\python.exe "E:/Python/课堂视频/ ...

  5. node-cookie-parserDemo

    let express = require('express'); let app = new express(); let cookieParser = require('cookie-parser ...

  6. 理解git工作区和暂存区

    版本库 在工作区目录中有一个.git文件,这个其实不是工作区而是Git的版本库 版本库中包含两个部分,一个是暂存区index/stage,另一个是git自动为我们创建的第一个分支master,以及一个 ...

  7. mongodb的安装方法

    下载安装 mongodb官网下载地址:https://www.mongodb.org/downloads#produc...直接下载.msi文件并安装到指定目录即可.我的安装路径是D:\mongodb ...

  8. laravel5.3安装redis扩展包

    1,编辑 laravel 根目录下的 composer.json 文件: "require": { "php": ">=5.6.4", ...

  9. mysql关联、子查询索引优化

    1.驱动表:加索引不起作用,因为全表扫描.表1 left join 表2 ,此时表1是驱动表 被驱动表:给这个加索引.  关联查询  子查询时 尽量不使用not in 或者not exists 而是用 ...

  10. Redis的java客户端jedis

    导包:Jedis需要的jar包 >Commons-pool-1.6.jar >Jedis-2.1.0.jar 配置:linux防火墙设置,不会设置就关闭. 停止防火墙 systemctl ...