当前位置: 首页 > news >正文

贵阳做网站网站建设题库及答案

贵阳做网站,网站建设题库及答案,网站管理员登陆不了,电商运营平台有哪些01-03.Vue:v-on的事件修饰符 前言v-on的事件修饰符.stop的举例.capture举例.prevent的举例1.prevent的举例2.self举例 前言 我们接着上一篇文章 01-02.Vue的常用指令(二) 来讲 下一篇文章 01-04.Vue的使用示例:列表功能 v-on的事件修饰符 v-on 提供了很…

01-03.Vue:v-on的事件修饰符

  • 前言
    • v-on的事件修饰符
      • `.stop`的举例
      • `.capture`举例
      • `.prevent`的举例1
      • `.prevent`的举例2
      • `.self`举例

前言

我们接着上一篇文章 01-02.Vue的常用指令(二) 来讲


下一篇文章 01-04.Vue的使用示例:列表功能

v-on的事件修饰符

v-on 提供了很多事件修饰符来辅助实现一些功能。事件修饰符有如下:

  • .stop 阻止冒泡。本质是调用 event.stopPropagation()。
  • .prevent 阻止默认事件(默认行为)。本质是调用 event.preventDefault()。
  • .capture 添加事件监听器时,使用捕获的方式(也就是说,事件采用捕获的方式,而不是采用冒泡的方式)。
  • .self 只有当事件在该元素本身(比如不是子元素)触发时,才会触发回调。
  • .once 事件只触发一次。

PS:一个事件,允许同时使用多个事件修饰符。

写法示范:

          <!-- click事件 --><button v-on:click="doThis"></button><!-- 缩写 --><button @click="doThis"></button><!-- 内联语句 --><button v-on:click="doThat('hello', $event)"></button><!-- 阻止冒泡 --><button @click.stop="doThis"></button><!-- 阻止默认行为 --><button @click.prevent="doThis"></button><!-- 阻止默认行为,没有表达式 --><form @submit.prevent></form><!--  串联修饰符 --><button @click.stop.prevent="doThis"></button>

.stop的举例

我们来看下面这个例子:

<template><div id="app"><div class="father" @click="fatherClick"><div class="child" @click="childClick"></div></div></div>
</template><script>
export default {data() {return {};},methods: {fatherClick: function () {console.log("father 被点击了");},childClick: function () {console.log("child 被点击了");},},
};
</script><style>
#app {font-family: Avenir, Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-align: center;color: #2c3e50;
}
.father {height: 300px;width: 300px;background: pink;
}.child {width: 200px;height: 200px;background: green;
}
</style>

上方代码中,存在冒泡的现象,父标签中包含了一个子标签。当点击子标签时,父标签也会被触发。打印顺序是:

  child 被点击了father 被点击了

那么问题来了,如果我不想让子标签的点击事件冒泡到父亲,该怎么做呢?办法是:给子标签加一个事件修饰符.stop,阻止冒泡。代码如下:

    <div class="child" @click.stop="childClick">

阻止冒泡后,当点击子标签时,打印结果是:

  child 被点击了

PS:我发现一个有意思的现象。上方的这行代码中,如果把.stop改为:stop,造成的现象是,父标签被触发了,而子标签没有被触发。

.capture举例

.capture:触发事件时,采用捕获的形式,而不是冒泡的形式。

还是采用上面的例子:当按钮点击时,如果想要采取捕获的方式,而不是冒泡的方式,办法是:可以直接在父标签上加事件修饰符.capture。代码如下:

    <div class="father" @click.capture="fatherClick">

当点击子标签时,打印结果是:

  father 被点击了child 被点击了

.prevent的举例1

比如说,超链接<a>默认有跳转行为,那我可以通过事件修饰符.prevent阻止这种跳转行为。

<template><div id="app"><a href="http://www.baidu.com" @click.prevent="linkClick">百度一下</a></div>
</template><script>
export default {data() {return {};},methods: {linkClick: function () {console.log("超链接被点击了");},},
};
</script>

上方代码中:

  • 如果去掉.prevent,点击按钮后,既会打印log,又会跳转到百度页面。

  • 现在加上了.prevent,就只会打印loeg,不会跳转到百度页面。

.prevent的举例2

现在有一个form表单:

    <form action="http://www.baidu.com"><input type="submit" value="表单提交"></form>

我们知道,上面这个表单因为type="submit",因此它是一个提交按钮,点击按钮后,这个表单就会被提交到form标签的action属性中指定的那个页面中去。这是表单的默认行为。

现在,我们可以用.prevent来阻止这种默认行为。修改为:点击按钮后,不提交到服务器,而是执行我们自己想要的事件(在submit方法中另行定义)。如下:

<template><div id="app"><!-- 阻止表单中submit的默认事件 --><form @submit.prevent action="http://www.baidu.com"><!-- 执行自定义的click事件 --><input type="submit" @click="mySubmit" value="表单提交" /></form></div>
</template><script>
export default {methods: {mySubmit: function () {alert("ok");},},
};
</script><style>
#app {font-family: Avenir, Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-align: center;color: #2c3e50;
}
</style>

上方代码中,我们通过.prevent阻止了提交按钮的默认事件,点击按钮后,执行的是mySubmit()方法里的内容。这个方法名是可以随便起的,我们甚至可以起名为submit,反正默认的submit已经失效了。

.self举例

  • .self 只有当事件在该元素本身(比如不是子元素)触发时,才会触发回调。

我们知道,在事件触发机制中,当点击子标签时,父标签会通过冒泡的形式被触发(父标签本身并没有被点击)。可如果我给父标签的点击事件设置.self修饰符,达到的效果是:子标签的点击事件不会再冒泡到父标签了,只有点击符标签本身,父标签的事件才会被触发。代码如下:

    <div class="father" @click.self="fatherClick">

疑问:既然.stop.self都可以阻止冒泡,那二者有什么区别呢?区别在于:前者能阻止整个冒泡行为,而后者只能阻止自己身上的冒泡行为。

http://www.yayakq.cn/news/637493/

相关文章:

  • 做门窗安装去哪些网站找生意如何制作网站连接数据库
  • 网站规划与建设 pptwordpress geek theme
  • 龙岗网站建设多少钱甘肃手机版建站系统信息
  • 做网站网站代理赚钱吗同性性做视频网站
  • 中国建设银行在网站怎么签约建设一个网站需要哪些
  • wordpress 信息流 主题浙江seo博客
  • 个人网站设计htmlwordpress离线编辑器
  • 招个网站建设维护免费制作企业网站平台
  • 做苗木生意上什么网站济南网站设计公司推荐
  • wordpress空白主题青岛神马排名优化
  • 备案网站建设方案书asp.net 网站管理工具 安全
  • 河南平顶山网站建设与管理专业wordpress狮子歌歌
  • 聊城网站建设工作室在线制作电子公章生成器
  • 丽江北京网站建设微信小程序设计网站
  • 实名认证域名可以做电影网站吗国外免费服务器提供
  • 上海企业网站优化多少钱赤峰网站设计
  • 做论坛和做网站有什么区别h5网站如何做排名
  • 如何做教育公司网站网站 二维码的作用
  • 上海网站建设模板超级门户博客版wordpress主题
  • 网站建设续费催款通知书网站建设推广优化公司
  • 28网站怎么做代理wms仓储管理系统
  • 怎么制作自己的免费网站wordpress图片主题 简约
  • 网站排名怎么提升美食个人网站设计作品
  • 江干区网站建设网络专业的网站建设
  • 如何申请开通网站安卓毕业设计代做网站
  • 网页游戏网站2345旅游网站的功能设计
  • 制作营销网站模板企业网站建设怎么样
  • 怎么知道网站是哪个公司做的游戏app制作
  • 国外网站前台模板权重查询
  • 网站移动端是什么情况如何禁止某ip访问网站