[Vue.js] 栏位输入後按 Enter 自动执行 (Enter Event)

示范一个简单的功能,在网页上有一个搜寻功能,搜寻栏右边有执行的图示。

标准的做法就是输入文字後,按下右边的放大镜图示後,就可以执行搜寻动作。
为了让使用者更快速的执行,可以增加功能在使用者输入完後按 Enter 键,也可以执行同样的搜寻功能。

目前的程序码

HTML 页面语法

<div class="input-group">
	<input type="text" class="form-control" id="F_KEYWORD" v-model="form.F_KEYWORD.value" placeholder="@Resources.Language.搜寻策略">
	<span class="input-group-btn">
		<button type="button" class="Searchbtn btn btn-flat" v-on:click="SendStraSearch()"><i class="fa fa-search"></i></button>
	</span>
</div>

Javascript 语法

// 传送策略搜寻
, SendStraSearch: function () {
	var self = this;
	var queryStr = self.form.F_KEYWORD.value;

	alert('执行搜寻动作');
}

使用者按下搜寻图示後,经由 v-on:click="SendStraSearch()" 就会触发 SendStraSearch() 方法呼叫後端的搜寻。

增加键盘 Enter 触发

在 Vue.js 的常用键盘触发提供了 .enter 功能来抓 Enter 键的触发事件,可以把 HTML 语法修改成

<div class="input-group">
	<input type="text" class="form-control" id="F_KEYWORD" v-model="form.F_KEYWORD.value" placeholder="@Resources.Language.搜寻策略" v-on:keyup.enter="SendStraSearch()">
	<span class="input-group-btn">
		<button type="button" class="Searchbtn btn btn-flat" v-on:click="SendStraSearch()"><i class="fa fa-search"></i></button>
	</span>
</div>

所增加的语法是 v-on:keyup.enter="SendStraSearch()",放在 的属性里面
接下来使用者输入文字後按 Enter 键也会触发 SendStraSearch() 这个方法。

键盘事件更多的说明

在 Vue.js 有相关的键盘触发事件可参考 Vue.js

在网页上使用更多的键盘事件,可以帮助使用者快速的操作网站,因为同一功能如果一直重复做的话,能用键盘操作还是比较顺手的。

同场加映另一种常用自动触发功能

刚刚举例了按 Enter 键就触发,另一种我常用的事件是 onblur 事件,onblur 事件触发时间点是离开焦点时触发,
例如我正在搜寻栏位上输入文字,然後滑鼠点了画面上其他地方,离开输入框的时候,就会触发 onblur 事件。

修改後 HTML

<div class="input-group">
	<input type="text" class="form-control" id="F_KEYWORD" v-model="form.F_KEYWORD.value" placeholder="@Resources.Language.搜寻策略" v-on:keyup.enter="SendStraSearch()" v-on:blur="SendStraSearch()">
	<span class="input-group-btn">
		<button type="button" class="Searchbtn btn btn-flat" v-on:click="SendStraSearch()"><i class="fa fa-search"></i></button>
	</span>
</div>

增加的语法是 v-on:blur="SendStraSearch()"
v-on:keyup.enter 跟 v-on:blur 都可以放在一起使用或分开使用,
v-on:blur 的效果在按 Tab 换栏位时也可以触发,通常可以用在检查栏位是否正确输入。

想要看到我修改的实例,可以参考我开发的网站,在网页的上面有一个查询功能,就是这个方法的实作。

重点整理

  1. v-on:click 是按钮事件
  2. v-on:keyup.enter 是键盘 Enter 事件
  3. v-on:blur 是焦点离开事件

相关学习文章

[Bootstrap + Vue.js + ASP.NET MVC] 增加栏位修改过程纪录


<<:  Day 52 (JS_API)

>>:  Day34 参加职训(机器学习与资料分析工程师培训班),网站设计与网页工程技术

铁人赛29天 工具分享

终於开赛第29天已经无梗很多天罗,因为实在不太想写一些平常入坑scss基本原理东西,毕竟觉得有碰就会...

3.2 Design System - 其他注意事项

一个人厉害永远比不上一群人厉害 某次跟同事闲聊时谈到这件事 我们一致认同在一个团队里 大家都是互相...

[NestJS 带你飞!] DAY22 - MongoDB

通常写後端都会使用到资料库,透过资料库来储存使用者相关的资料,而资料库有非常多种,本篇将会介绍最热门...

透过 CancelToken 解析 Axios 原始码

本篇会藉由设计「取消重复请求机制」来解析 axios 的原始码,篇幅较长请耐心阅读。 其实要实践取...

Day 5 - 断点设定

Tailwindcss 使用 normalize.css 来当作初始化样式,和 Bootstrap...