.lazy 并不是实时改变,而是在失去焦点或者按回车时才会更新
.number将输入转换成Number类型
.trim可以自动过滤输入首尾的空格
iview 实例
<Input type="text" v-model.trim="aa" @on-keypress="e =>{if(e.keyCode == 32) e.returnValue = false;}"></Input>
前言
首先我们要清楚returnValue是IE的一个属性,如果设置了该属性,它的值比事件句柄的返回值优先级要高,把它的值设置为false,可以取消发生事件源元素的默认动作;return false就是返回一个false值。
定义
returnValue:设置或获取事件的返回值。
进一步可以这样理解:event对象的returnValue属性一般为true,表示脚本处理完自己的工作由元素来处理事件,通过该属性可以取消事件处理程序中调用函数的默认操作。
作用
event.returnValue:当捕捉到事件(event)时会做一些判断,判断失败,则会阻止事件继续执行,可以达到的效果是“不能在输入框中输入非数字字符”,window.event.returnValue=false放在提交表单中的onclick事件中则不会提交表单,如果放到超链接中则不执行超链接。
区别
这个event.returnValue与return false的区别是,在实战中,对表单验证而言,event.returnValue=fasle和return function(){return false}的效果是一样的,都是先对表单的内容进行判断,才决定是否执行下去,但是,这个return function(){return false}和function(){return false}又是有区别的,前者是在先对函数的内容的判断上是否执行下去的,但是,后者则不会进行判断就直接执行下去了
扩充
例如:onClick='return add_onclick()'与 onClick='add_onclick()'的区别
js在事件中调用函数时用return返回值实际上是对window.event.returnvalue进行设置。而该值决定了当前操作是否继续。当返回的是true时,将继续操作。当返回是false时,将中断操作。
而直接执行时(不用return)。将不会对window.event.returnvalue进行设置,所以会默认地继续执行操作
详细说明如下:
当在 <a href="abc.htm" οnclick="return add_onclick()">Open</a> 中
如果函数 add_onclick() 返回 true, 那么 页面就会打开 abc.htm
否则, (返回 false), 那么页面不会跳转到 abc.htm, 只会执行你的 add_onclick() 函数里的内容. (add_onclick函数中控制页面转到 abc.htm除外)
而 <a href="abc.htm" οnclick="add_onclick()">Open</a>
不管 add_onclick() 返回什么值, 都会在执行完 add_onclick 后打开页面 abc.htm
注:onclick和href同时存在时,先执行onclick再执行href
微信小程序input框去除空格
//去除空格
<input type='text' data-name='account' value='{{account}}' name="account" bindinput='verification' bindblur='account'></input>
verification: function (e) {
var name = e.currentTarget.dataset.name;
this.setData({
[name]: e.detail.value.replace(/\s+/g, '')
})
},
实现思路:
1.给每一个input绑定bindinput事件,
2.利用data-name的属性同步input的name,
3.利用简单的正则实时去除空格,
4.利用数据双向绑定的特性同步当前input的value值
小数点两位数 不能在输入正则校验
var regs = /^(0|[1-9]\d*)(\.\d{3,})$/;
if (regs.test($(this).val())) {
$(this).val($(this).val().substring(0, $(this).val().length - 1));
}