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

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

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

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

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

一、常見事件類型

事件名說明適用組件
tap點(diǎn)擊事件viewbutton
input輸入框內(nèi)容變化inputtextarea
submit表單提交form
scroll滾動(dòng)事件scroll-view
longpress長按事件(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="用戶名" />
  <button form-type="submit">提交</button>
</form>
Page({
  handleSubmit(e) {
    console.log("表單數(shù)據(jù):", e.detail.value);
  }
});

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

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

屬性說明
type事件類型(如 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)

如果使用自定義組件,可以通過 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é)

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

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

相關(guān)文章

最新評(píng)論

南汇区| 岗巴县| 木里| 文登市| 天柱县| 弥勒县| 江达县| 利川市| 昌吉市| 老河口市| 武宁县| 永仁县| 鄄城县| 敦煌市| 保康县| 霍山县| 潮州市| 南丹县| 罗江县| 会东县| 中卫市| 香港 | 苏尼特左旗| 三明市| 仁寿县| 梁河县| 枣庄市| 邵武市| 乌拉特中旗| 竹溪县| 内丘县| 陇川县| 汪清县| 姚安县| 正蓝旗| 烟台市| 吴忠市| 承德县| 耒阳市| 眉山市| 万山特区|