您的位置:时时app平台注册网站 > web前端 > Vue学习之路7-v-on指令学习之简单事件绑定

Vue学习之路7-v-on指令学习之简单事件绑定

2019-11-03 01:56

前言

在JavaScript中其余一个DOM成分都有其自个儿存在的平地风波目的,事件指标表示事件的状态,比方事件在个中爆发的要素、键盘开关的景况、鼠标的岗位和鼠标开关的情景等。事件数见不鲜与函数结合使用,函数不会在事变发生前被试行。在JavaScript浙江中国广播集团泛的风云句柄(Event Handlers)主要有:

属性名 描述(对应事件发生在何时...)
onabort 图像的加载被中断
onchange 域的内容被改变
ondblclick 当用户双击某个对象时调用的事件句柄
onfocus 元素获得焦点
onkeypress 某个键盘按键被按下并松开
onload 一张页面或一幅图像完成加载
onmousemove 鼠标被移动
onmouseover 鼠标移动到某元素之上
onreset 重置按钮被点击
onselect 文本被选中
onunload 用户退出页面
onblur 元素失去焦点
onclick 当用户点击某个对象时调用的事件名柄
onerror 在加载文档或图像时发生错误
onkeydown 某个键盘按键被按下
onkeyup 某个键盘按键被松开
onmousedown 鼠标按钮被按下
onmouseout 鼠标从某个元素移开
onmouseup 鼠标铵键被松开
onsubmit 提交按钮被点击
onresize 窗口或框架被重新调整大小

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

本文实例汇报了JavaScript中click和onclick本质区别与用法。分享给大家供大家参谋,具体如下:

为了兑现移除效果,可以使用off('click')一次性移除已绑定的click事件的富有管理函数。

 

其分别在于:

input.change()也就是input.trigger('change'),它是trigger()方法的简写。

v-on指令

效用:监听 DOM 事件,并在触发时运维一些 JavaScript 代码。

用法:v-on绑定的事件函数经常都写在methods对象中,使用手续如下:1、事件绑定,2、事件完成,3、事件触发。

v-on指令无参格局的click事件绑定:

全写代码如下:

图片 1图片 2

 1 <template>
 2   <div>
 3     <p class="title1">{{title}}</p>
 4     <div class="div1">
 5       <button  v-on:click="clickme" >{{msg}}</button>
 6     </div>
 7   </div>
 8 
 9 </template>
10 
11 <script>
12     export default {
13         name: 'v-on',
14       data() {
15           return {
16             msg: '点击我',
17             title: 'v-on指令学习'
18           }
19       },
20       methods:{
21         clickme:function(){
22           alert("hello");
23     }
24       }
25     }
26 </script>
27 
28 <style scoped>
29   .title1 {
30     text-align: left;
31   }
32   .div1{
33     float: left;
34   }
35 </style>

View Code

简写代码如下:

图片 3图片 4

 1 <template>
 2   <div>
 3     <p class="title1">{{title}}</p>
 4     <div class="div1">
 5       <button  @click="clickme" >{{msg}}</button>
 6     </div>
 7   </div>
 8 
 9 </template>
10 
11 <script>
12   export default {
13     name: 'v-on',
14     data() {
15       return {
16         msg: '点击我',
17         title: 'v-on指令学习'
18       }
19     },
20     methods:{
21       clickme(){
22         alert("hello");
23       }
24     }
25   }
26 </script>
27 
28 <style scoped>
29   .title1 {
30     text-align: left;
31   }
32   .div1{
33     float: left;
34   }
35 </style>

View Code

演示结果如下:

图片 5

v-on指令有参方式的click事件绑定:参数的数目和式样可依据实际意况传入,轻松代码示比如下:

图片 6图片 7

 1 <template>
 2   <div>
 3     <p class="title1">{{title}}</p>
 4     <div class="div1">
 5       <button  @click="clickme('我是中文参数','woshiyingwencanshu',$event)" >{{msg}}</button>
 6     </div>
 7   </div>
 8 
 9 </template>
10 
11 <script>
12   export default {
13     name: 'v-on',
14     data() {
15       return {
16         msg: '点击我',
17         title: 'v-on指令学习'
18       }
19     },
20     methods:{
21       clickme(msg1,msg2,event){
22        console.log(msg1);
23        console.log(msg2);
24        console.log(event);
25       }
26     }
27   }
28 </script>
29 
30 <style scoped>
31   .title1 {
32     text-align: left;
33   }
34   .div1{
35     float: left;
36   }
37 </style>

View Code

示范结果如下:

图片 8 

小结:v-on能够绑定非常多javascript事件,本文仅以click单击事件为例,后续会补充作何事件的运用方式,若是本文有错误和白璧微瑕,应接留言提出。

PS:关于javascript事件表达可参照本站javascript事件与功力表达大全

var input = $('#test-input');
input.change(function () {
 console.log('changed...');
});

1.风浪名前貌似都是on开始;

var button1 = $('#testPopupButton1');
var button2 = $('#testPopupButton2');

function popupTestWindow() {
 window.open('/');
}

button1.click(function () {
 popupTestWindow();
});

button2.click(function () {
 // 不立刻执行popupTestWindow(),100毫秒后执行:
 setTimeout(popupTestWindow, 100);
});

能够扩大学习和参考的稿子:

那几个“敏感代码”只好由客户操作来触发:

2.格局是技士写语句直接调用,即显示调用;【能够触发onclick事件】

浏览器安全范围

你或然感兴趣的稿子:

  • JS落成同生龙活虎DOM元素上onClick事件与onDblClick事件并存的减轻方法
  • javascript中onclick(this)用法介绍
  • js给onclick事件赋值,动态传参数实例演讲
  • JavaScript给开关绑定点击事件(onclick)的措施
  • javascript 动态更改onclick事件触发函数代码
  • IE8的JavaScript点击事件(onclick)不相称的化解措施
  • js动态加多onclick事件可传参数与不传参数
  • js校正onclick动作的三种方式(推荐)
  • js函数中onmousedown和onclick的分别和维系钻探
  • js onclick事件传参疏解
  • 代码触发js事件(click、change)示例应用

干什么我们盼望手动触发多少个风云呢?假诺不这么做,超多时候,我们就得写两份千篇一律的代码。

onclick是一个平地风波,Event对象 。扶持该事件的 JavaScript 对象:button, document, checkbox, link, radio, reset, submit

同理,无参数调用off()一遍性移除已绑定的保有类型的事件管理函数。

<html>
<head>
<script type="text/javascript">
function clickButton()
 {
 document.getElementById('button1').click()
 }
function alertMsg()
 {
 alert("Button 1 was clicked!")
 }
</script>
</head>
<body onload="clickButton()">
<form>
<input type="button" id="button1" onclick="alertMsg()" value="Button 1" />
</form>
</body>
</html>

click: 鼠标单击时接触; dblclick:鼠标双击时接触; mouseenter:鼠标步入时接触; mouseleave:鼠标移出时接触; mousemove:鼠标在DOM内部移动时接触; hover:鼠标步向和分离时触发五个函数,也正是mouseenter加上mouseleave。

1.$("").clickonclick的区分示例介绍
地址://www.jb51.net/article/55650.htm

因为JavaScript在这里举办的时候,<form>尚未载入浏览器,所以$('#testForm)返回[],并未绑定事件到其它DOM上。
进而大家友好的开首化代码必须置于document对象的ready事件中,保险DOM已做到起头化:

HTML DOM Event 对象,代表事件的情状,譬如事件在在那之中产生的元素、键盘开关的处境、鼠标的岗位、鼠标按键的情状。事件缩手旁观与函数结合使用,函数不会在事变发生前被实行!

叁个须要注意的主题素材是,事件的接触总是由顾客操作引发的。举例,我们监察和控制文本框的源委更动:

而最根本的难题是,方法和事件的分别是怎么样吧?

var input = $('#test-input');
input.val('change it!');
input.change(); // 触发change事件

2.从零伊始学习jQuery (五) jquery事件与事件指标
地址://www.jb51.net/article/26331.htm

鼠标事件

前方说了click是一个办法,onclick是二个风云。

$(document).ready(function () {
 // on('submit', function)也可以简化:
 $('#testForm).submit(function () {
  alert('submit!');
 });
});
<html>
<body>
  Field1: <input type="text" id="field1" value="Hello World!"><br />
  Field2: <input type="text" id="field2"> <br />
  点击下面的按钮,把 Field1 的内容拷贝到 Field2 中: <br />
  <button onclick="document.getElementById('field2').value=document.getElementById('field1').value">Copy Text</button>
</body>
</html>
$(function () {
 $('#testMouseMoveDiv').mousemove(function (e) {
  $('#testMouseMoveSpan').text('pageX = '   e.pageX   ', pageY = '   e.pageY);
 });
});

语法:buttonObject.click()

var input = $('#test-input');
input.val('change it!'); // 无法触发change事件

希望本文所述对大家JavaScript程序设计有着支持。

$(function () {
 // init...
});

3.jQuery动态移除与扩大onclick属性的措施详细明白
地址://www.jb51.net/article/141648.htm

你或者感兴趣的篇章:

  • JQuery 绑定select标签的onchange事件,弹出选择的值,并落到实处跳转、传参
  • JQuery触发radio或checkbox的change事件
  • jquery获取关节和失去宗旨事件代码
  • jQuery事件绑定.on()简要概述及运用
  • 行使JS或jQuery模拟鼠标点击a标签事件代码
  • jquery移除、绑定、触发成分事件接收示例精解
  • jQuery给动态拉长的因素绑定事件的主意
  • jquery单选框radio绑定click事件完结格局
  • jquery键盘事件选择介绍
  • jQuery事件 delegate()使用方法介绍

区别

当客户点击button1时,click事件被触发,由于popupTestWindow()在click事件管理函数内奉行,那是浏览器允许的,而button2的click事件尚未即刻推行popupTestWindow(),延迟施行的popupTestWindow()将被浏览器拦截。

3.风浪不需技士调用,不过,必须由程序员写二个函数且将该函数赋值给相应的事件,其调用是在相应的风浪触发时。【告诉浏览器在鼠标点击时候要做哪些】所以调用顺序是:首先方法其次事件。

撤回绑定

原生javascript的click在w3c里边的论述是DOM button对象,也是html DOM click() 方法,可效仿在按键上的叁遍鼠标单击。

// 无法弹出新窗口,将被浏览器屏蔽:
$(function () {
 window.open('/');
});

越多关于JavaScript相关内容感兴趣的读者可查阅本站专题:《JavaScript事件相关操作与技艺大全》、《JavaScript页面元素操作手艺计算》、《JavaScript操作DOM手艺总括》、《JavaScript查找算法工夫计算》、《JavaScript数据结构与算法技艺总计》、《JavaScript遍历算法与手艺总计》及《JavaScript错误与调整技术总计》

当客户在文本框中输入时,就能触发change事件。不过,假使用JavaScript代码去更换文本框的值,将不会触发change事件:

button 对象表示 HTML 文档中的一个开关。button成分未有暗中同意的一颦一笑,可是必得有三个 onclick 事件句柄以便利用。

双面完全等价。大家普通用前边的写法。

地方的这种写法最为遍布。倘令你相逢$(function () {...})的情势,深深记住那是document对象的ready事件管理函数。
一起能够频仍绑定事件管理函数,它们会挨个试行:

/* HTML:
 *
 * <a id="test-link" href="#0" rel="external nofollow" >点我试试</a>
 *
 */

// 获取超链接的jQuery对象:
var a = $('#test-link');
a.on('click', function () {
 alert('Hello!');
});

鉴于分歧的浏览器绑定事件的代码都不太雷同,所以用jQuery来写代码,就屏蔽了不一样浏览器的歧异,大家总是编写雷同的代码。

要求特别注意的是,上边这种写法是低效的:

那是因为八个佚名函数即使长得一模二样,可是它们是四个分化的函数对象,off('click', function () {...})不可能移除已绑定的率先个佚名函数。

a.click(function () {
 alert('Hello!');
});
<html>
<head>
 <script>
  // 代码有误:
  $('#testForm).on('submit', function () {
   alert('submit!');
  });
 </script>
</head>
<body>
 <form id="testForm">
  ...
 </form>
</body>

上述就是本文的全体内容,希望对大家的上学抱有助于,也期望大家多多照管脚本之家。

键盘事件

如此那般写就没反常了。因为相关代码会在DOM树起初化后再推行。
鉴于ready事件接纳特别广泛,所以能够如此简化:

竟然还足以再简化为:

别的事件

$(function () {
 console.log('init A...');
});
$(function () {
 console.log('init B...');
});
$(function () {
 console.log('init C...');
});
function hello() {
 alert('hello!');
}

a.click(hello); // 绑定事件

// 10秒钟后解除绑定:
setTimeout(function () {
 a.off('click', hello);
}, 10000);

在浏览器中,有些JavaScript代码独有在顾客触发下技能试行,比方,window.open()函数:

例如,倘使要在客户点击了超链接时弹出提醒框,大家用jQuery那样绑定二个click事件:

微微事件,如mousemove和keypress,我们须要取得鼠标地方和开关的值,不然监听那个事件就没怎么意思了。所有事件都会传出伊芙nt对象作为参数,能够从Event对象上收获到越多的音讯:

<html>
<head>
 <script>
  $(document).on('ready', function () {
   $('#testForm).on('submit', function () {
    alert('submit!');
   });
  });
 </script>
</head>
<body>
 <form id="testForm">
  ...
 </form>
</body>

因为JavaScript在浏览器中以单线程形式运作,页面加载后,生龙活虎旦页面上富有的JavaScript代码被试行完后,就只能依据触发事件来施行JavaScript代码。

浏览器在接到到客户的鼠标或键盘输入后,会自动在相应的DOM节点上接触相应的风云。如若该节点已经绑定了相应的JavaScript管理函数,该函数就能够自行调用。

多少时候,大家盼望用代码触发change事件,能够平昔调用无参数的change()方法来触发该事件:

二个已被绑定的事件能够消亡绑定,通过off('click', function)完结:

键盘事件仅功能在近年来热门的DOM上,经常是<input>和<textarea>。
keydown:键盘按下时接触; keyup:键盘放手时触发; keypress:按壹遍键后接触。

// 绑定事件:
a.click(function () {
 alert('hello!');
});

// 解除绑定:
a.off('click', function () {
 alert('hello!');
});

事件触发条件

jQuery能够绑定的事件主要包含:

事件参数

on办法用来绑定叁个平地风波,大家须求传入事件名称和对应的管理函数。
另朝气蓬勃种更简化的写法是一向调用click()方法:

focus:当DOM获得核心时接触; blur:当DOM失去核心时接触; change:当<input>、<select>或<textarea>的剧情改变时接触; submit:当<form>提交时接触; ready:当页面被载入并且DOM树完结初步化后触发。
当中,ready仅功用于document对象。由于ready事件在DOM实现开首化后触发,且只触发壹次,所以非常切合用来写别的的初阶化代码。若是我们想给多少个<form>表单绑定submit事件,上边包车型地铁代码未有预料的效用:

本文由时时app平台注册网站发布于web前端,转载请注明出处:Vue学习之路7-v-on指令学习之简单事件绑定

关键词: