关于小程序中view的自定义属性获取

e.target 拿的是点击的对象的属性

如果是 data- 放到外层了,点击里面的元素是拿不到属性值的

而用 e.currentTarget 则是拿 bintap/catchtap 所在的对象的属性~,点击里面的元素一样能拿到属性值

        <view class='a-child' data-tid='{{child.ID}}' bindtap='selectChild'>
          <image class='avatar' src='../../images/localImages/default_user.png'></image>
          <view class='child-mid'>
            <view class='mid-top child-name'>{{child.STUDENTNAME}}</view>

示例中 要拿 tid 要如下:

  selectChild: function(e) {
    //获取ID
    var tid = e.currentTarget.dataset.tid
    console.log('tid: ' + tid)
  },

而如果写成

var tid = e.target.dataset.tid

你点击 image 之类的子元素拿到的是 undefined ,而很多时候子元素基本都占满了父类 view,所以就会出现 undefined 的情况

当然,你也可以每一层元素都加 data-tid 属性~~~这样就能用 e.target.dataset.tid来获取值喽

开发中遇到的,记一下

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值