<div id="app"> <input type="text" v-on:keyup="onlyNum($event)"> </div> <script> new Vue({ el:"#app", methods: { onlyNum: function (event){ event.target.value=event.target.value.replace(/[^d]/g,''); } } })
</script>
相当于:
<div id="app"> <input type="text" onkeyup="onlyNum(this)"> </div> <script> function onlyNum(obj){ obj.value = obj.value.replace(/[^d]/g,''); } </script>
js 原生代码的 “this” 相当于上面vue中 “event.target” 。js中“事件绑定this”,this指的是调用该函数的html元素;但vue的this指的是vue的对象本身,属于js对象“方法中绑定this”的情形;如果要访问调用该函数的html元素,只能用js的event对象中的target属性。
JavaScript this 关键字
注意:event是js的对象!
Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。
target 事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素、文档或窗口。