1. 程式人生 > >VUE框架 導致繫結事件的阻止冒泡失效

VUE框架 導致繫結事件的阻止冒泡失效

前面遇到了一個問題就是VUE框架內部做了一些處理,使得在我們通過v-for渲染DOM的時候新增新元素的時候,繫結事件也能對新增的元素有效。

而這次遇到的問題則是,原本繫結事件中(該函式沒有寫在vue例項的methods中),導致阻止冒泡事件失效了。無論是return false 還是event.stopPropagation();都無效。

此時需要通過用VUE提供了事件修飾符來處理,比如阻止事件冒泡@click.stop='xx()'

.stop
.prevent
.capture
.self
.once

<a v-on:click.stop
="doThis">
</a> <!-- 提交事件不再過載頁面 --> <form v-on:submit.prevent="onSubmit"></form> <!-- 修飾符可以串聯 --> <a v-on:click.stop.prevent="doThat"></a> <!-- 只有修飾符 --> <form v-on:submit.prevent></form> <!-- 新增事件偵聽器時使用事件捕獲模式 --> <div v-on:click.capture
="doThis">
...</div> <!-- 只當事件在該元素本身(比如不是子元素)觸發時觸發回撥 --> <div v-on:click.self="doThat">...</div>

相關推薦

VUE框架 導致事件阻止冒泡失效

前面遇到了一個問題就是VUE框架內部做了一些處理,使得在我們通過v-for渲染DOM的時候新增新元素的時候,繫結事件也能對新增的元素有效。 而這次遇到的問題則是,原本繫結事件中(該函式沒有寫在vue例項的methods中),導致阻止冒泡事件失效了。無論是ret

原生js和jquery框架事件的方法

一、原生js的事件的繫結 1、通過JavaScript物件屬性進行繫結 document.getElementById("test1").onclick=function(){alert("你好!")}; document.getElementsByTagName ("te

冒泡與捕獲,事件阻止事件冒泡阻止預設行為

Internet Explorer 8 及更早IE版本不支援 addEventListener() 方法,Opera 7.0 及 Opera 更早版本也不支援。 但是,對於這些不支援該函式的瀏覽器,你可以使用 attachEvent() 方法來新增事件控制代碼。對於事件繫結相

前端(十五)—— JavaScript事件事件方式、事件冒泡和預設事件、滑鼠事件、鍵盤事件、表單 事件、文件事件、圖片事件、頁面事件

JS事件:繫結事件方式、事件的冒泡和預設事件、滑鼠事件、鍵盤事件、表單 事件、文件事件、圖片事件、頁面事件 一、事件的兩種繫結方式 ******* 1、on事件繫結方式 document.onclick = function() { console.log("文件點選"); } // on事件只

vue中父子元件事件

父子元件繫結事件: 注意:父元件是自定義事件,由子元件傳遞觸發事件資訊;子元件是系統事件比如:click等 <div id="app"> <counter @handle="fatherEvent"></counter>

Vue學習(二)——內容顯示和事件

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Vue入門</title> <script src="./vue.js"

Vue事件

繫結事件 v-on:click 簡寫:@click;為button新增一個change的點選事件,改變content的值 <div> <div class="button

重新認識vue事件阻止冒泡

冒泡的表現 近期用vue做了一個需求,大概是同一個區域,點選不同位置有不同的響應函式,還有個總的響應函式,好吧,如下圖所示: 他們的DOM結構如下: &lt;div v-for="(item, index) in listData" @click="handle

Vue.js學習筆記】3:資料,事件

資料繫結 使用Vue時在Vue物件的el欄位中要指定一下根容器,這裡用id選擇器。這個例子同時學習了data和methods的基本用法。 資料繫結(data-binding)可以將Vue物件中的data的值繫結到HTML標籤中的某些位置,則修改時只需要修改物件中相應data的值即

Vue 中如何移除事件?

列舉移除繫結的點選事件   <template> <div  @click="isClick&&clickEvent()"></div> </template> .data中的isClick

js用addeventlistener事件阻止預設事件

       var linkG = document.getElementById('g');                 linkG.addEventListener('click', function(e){                         test();             

微信小程式,關於navigator子元素事件阻止navigator跳轉

第二個item裡邊,switch切換時,會自動觸發navigator跳轉,找了好久也沒有找到類似於e.preventDefault方法,想了一個辦法, 如圖,第一個item,那就是,把switch拿出來,和navigator為兄弟元素,然後把switch定位,點選時,

vue移動端click事件失效問題

原因可能是你使用了better-scroll,預設它會阻止touch事件。所以在配置中需要加上click: true 例: mounted(){ this.scroll=new Bscroll(this.$refs.wrapper, { mous

vue系列--vue是如何實現事件

一、前言   vuejs中的事件繫結,使用<v-on:事件名 = 函式名>來完成的,這裡函式名是定義在Vue例項中的methods物件中的,Vue例項可以直接訪問其中的方法。    二、事件繫結方式 1、 直接在標籤中寫js方法 <butt

jQuery中bind(),one(),on(),live()這幾個事件函式的區別

1、bind()方法 為每個匹配元素的特定事件繫結事件處理函式。bind()方法的底層邏輯是on()方法。 .bind() 方法是用於往文件上附加行為的主要方式。所有JavaScript事件物件,比如focus, mouseover, 和 resize,都是可以作為type引數傳遞進來

jQuery 動態生成on的事件

該段程式碼實現的是穿梭框: // on的繫結事件傳引數 var clickEven = [ {id:"#demo01",class:".class0",list:"#demo02"}, {id:"#demo02",class:".class0",lis

js 回車鍵事件

<label class="col-sm-1 control-label">快速搜尋<span style="color:red;"> </span> </label>

Vue中動態img的src屬性

問題:不同的status值,載入不同的圖片,如下程式碼雖然動態綁定了src,但是並不能成功載入圖片 <div> <img :src="imgUrl"/> <p>{{info}}</p> </div> computed:

jQuery兩種事件

jQuery兩種繫結事件方式 1.eventName(fn),   js部分事件沒有實現 2.on("eventName",fn)   js所有的事件都實現了 <html> <head> <title></title> <

jQuery解除事件

off方法:不帶引數,解綁元素上所有的方法     帶一個引數,解綁這型別的方法     帶二個引數,解綁這型別指定的方法 <html> <head> <title></title> </head> <style>