最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序事件綁定基本語(yǔ)法示例詳解

 更新時(shí)間:2025年04月11日 09:06:10   作者:@程序員ALMJ  
這篇文章主要介紹了微信小程序事件綁定基本語(yǔ)法示例詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧

微信小程序使用 bind 或 catch 前綴綁定事件,語(yǔ)法如下:

<組件 bind事件名="處理函數(shù)" catch事件名="處理函數(shù)"></組件>
  • bind:事件綁定,允許事件冒泡(向父組件傳遞)。
  • catch:事件綁定,阻止事件冒泡(不會(huì)向父組件傳遞)。

一、常見(jiàn)事件類(lèi)型

事件名說(shuō)明適用組件
tap點(diǎn)擊事件viewbutton
input輸入框內(nèi)容變化inputtextarea
submit表單提交form
scroll滾動(dòng)事件scroll-view
longpress長(zhǎng)按事件(350ms)viewbutton

二、事件綁定示例

1. 點(diǎn)擊事件(bindtap / catchtap)

<!-- 點(diǎn)擊事件(允許冒泡) -->
<view bindtap="handleTap">點(diǎn)擊我</view>
<!-- 阻止冒泡 -->
<view catchtap="handleNoBubbleTap">點(diǎn)擊我(不冒泡)</view>
Page({
  handleTap() {
    console.log("點(diǎn)擊事件觸發(fā)");
  },
  handleNoBubbleTap() {
    console.log("點(diǎn)擊事件觸發(fā),但不會(huì)冒泡");
  }
});

2. 輸入事件(bindinput)

<input bindinput="handleInput" placeholder="輸入內(nèi)容" />
Page({
  handleInput(e) {
    console.log("輸入內(nèi)容:", e.detail.value);
  }
});

3. 表單提交(bindsubmit)

<form bindsubmit="handleSubmit">
  <input name="username" placeholder="用戶(hù)名" />
  <button form-type="submit">提交</button>
</form>
Page({
  handleSubmit(e) {
    console.log("表單數(shù)據(jù):", e.detail.value);
  }
});

三、事件對(duì)象(event)

事件處理函數(shù)的參數(shù) event 包含以下關(guān)鍵屬性:

屬性說(shuō)明
type事件類(lèi)型(如 tapinput
target觸發(fā)事件的組件(原始事件源)
currentTarget當(dāng)前綁定事件的組件
detail額外信息(如輸入框的值)
timeStamp事件觸發(fā)時(shí)間戳
touches觸摸點(diǎn)信息(多指觸控)

獲取 data-* 自定義數(shù)據(jù)

<view data-id="123" bindtap="handleDataTap">點(diǎn)擊獲取 data-id</view>
Page({
  handleDataTap(e) {
    const id = e.currentTarget.dataset.id; // 123
    console.log("data-id:", id);
  }
});

四、阻止事件冒泡(catch vs bind)

  • bind:允許事件向上冒泡(父組件也會(huì)觸發(fā)相同事件)。
  • catch:阻止事件冒泡(僅當(dāng)前組件觸發(fā))。

示例

<view bindtap="parentTap">
  <view catchtap="childTap">點(diǎn)擊我(不會(huì)觸發(fā)父組件的 tap)</view>
</view>
Page({
  parentTap() {
    console.log("父組件點(diǎn)擊"); // 不會(huì)執(zhí)行(因?yàn)樽咏M件用了 catchtap)
  },
  childTap() {
    console.log("子組件點(diǎn)擊");
  }
});

五、自定義組件事件(triggerEvent)

如果使用自定義組件,可以通過(guò) triggerEvent 觸發(fā)父組件的事件:

子組件

Component({
  methods: {
    handleTap() {
      this.triggerEvent("customevent", { data: "Hello" });
    }
  }
});

父組件

<child bindcustomevent="handleCustomEvent" />
Page({
  handleCustomEvent(e) {
    console.log("自定義事件數(shù)據(jù):", e.detail.data); // "Hello"
  }
});

六、總結(jié)

場(chǎng)景推薦寫(xiě)法
普通點(diǎn)擊事件bindtap="handleTap"
阻止冒泡catchtap="handleTap"
表單輸入bindinput="handleInput"
表單提交bindsubmit="handleSubmit"
自定義組件通信triggerEvent + bind事件名

到此這篇關(guān)于微信小程序事件綁定基本語(yǔ)法的文章就介紹到這了,更多相關(guān)微信小程序事件綁定基本語(yǔ)法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

武威市| 包头市| 江永县| 海阳市| 肇东市| 洱源县| 德安县| 贵州省| 福贡县| 东乌珠穆沁旗| 抚顺县| 鹿邑县| 镇巴县| 璧山县| 康马县| 荆州市| 廊坊市| 淄博市| 肥城市| 芷江| 乐至县| 固原市| 泸州市| 阿拉尔市| 阜新| 靖安县| 淳安县| 类乌齐县| 遵化市| 承德县| 呼和浩特市| 彭山县| 雷波县| 黄梅县| 乐山市| 宁化县| 通山县| 台州市| 石狮市| 安塞县| 屏东市|