vue.js中v-on:textInput无法执行事件问题的解决过程


Posted in Javascript onJuly 12, 2017

前言

最近在学习vue.js框架,学习过程中遇到一些问题,所以记下其中遇到问题的解决过程,避免以后再遇到同样的问题,分享出来也方便遇到这个问题的朋友参考,下面话不多说了,来一起看看详细的介绍:

先来看这段示例代码

<div id="wrap">
  <input type="text" v-on:textInput="fn">
</div>
<script type="text/javascript" src="vue.js"></script>
<script type="text/javascript">
  new Vue({
   el:'#wrap',
   methods:{
    fn:function(){
     console.log('textInput');
    }
   }
  });
</script>

寻找BUG原因步骤

(1)首先通过v-on关键字寻找到 addHandler,此函数传入的事件名竟然是 textinput(正确为textInput,I是大写,而不是小写),错误就定位在这了;然后往上层继续寻找(即父函数)

   注: (onRE.test(name)),var onRE = /^@|^v-on:/;  是通过匹配v-on添加事件

vue.js中v-on:textInput无法执行事件问题的解决过程

(2)processAttrs

vue.js中v-on:textInput无法执行事件问题的解决过程

.....然后傻傻地一层一层往下找,找到了getOuterHTML

vue.js中v-on:textInput无法执行事件问题的解决过程

vue.js中v-on:textInput无法执行事件问题的解决过程

/**
 * Get outerHTML of elements, taking care
 * of SVG elements in IE as well.
 */
function getOuterHTML (el) {
 if (el.outerHTML) {
 return el.outerHTML
 } else {
 var container = document.createElement('div');
 container.appendChild(el.cloneNode(true));
 return container.innerHTML
 }
}

真相大白了,因为vue是利用根原素outerHTML获取里面的dom片段(进行v-on匹配事件监听),然而outerHTML返回转为小写字母的代码片段,导致了textInput转为了 textinput,所以就执行不了;

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
两个DIV等高的JS的实现代码
Dec 23 Javascript
js onclick事件传参讲解
Nov 06 Javascript
jQuery表单验证功能实例
Aug 28 Javascript
js生成随机数的方法实例
Oct 16 Javascript
Perl Substr()函数及函数的应用
Dec 16 Javascript
JS实现Select的option上下移动的方法
Mar 01 Javascript
jQuery实现的省市县三级联动菜单效果完整实例
Aug 01 Javascript
JavaScript实现点击按钮复制指定区域文本(推荐)
Nov 25 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
Dec 20 Javascript
Angular实现可删除并计算总金额的购物车功能示例
Dec 26 Javascript
JS非行间样式获取函数的实例代码
Jun 05 Javascript
JavaScript实现表单验证功能
Dec 09 Javascript
详细AngularJs4的图片剪裁组件的实例
Jul 12 #Javascript
JS中使用gulp实现压缩文件及浏览器热加载功能
Jul 12 #Javascript
Vue中的数据监听和数据交互案例解析
Jul 12 #Javascript
js 监控iframe URL的变化实例代码
Jul 12 #Javascript
jQuery 循环遍历改变a标签的href(实例讲解)
Jul 12 #jQuery
浅谈原生JS中的延迟脚本和异步脚本
Jul 12 #Javascript
基于zepto.js实现手机相册功能
Jul 11 #Javascript
You might like
PHP实现递归无限级分类
2015/10/22 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
浅谈javascript六种数据类型以及特殊注意点
2013/12/20 Javascript
刷新页面的几种方法小结(JS,ASP.NET)
2014/01/07 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
2016/03/01 Javascript
JavaScript中Form表单技术汇总(推荐)
2016/06/26 Javascript
p5.js入门教程之鼠标交互的示例
2018/03/16 Javascript
JS实现读取xml内容并输出到div中的方法示例
2018/04/19 Javascript
webpack4 处理CSS的方法示例
2018/09/03 Javascript
你准备好迎接vue3.0了吗
2020/04/28 Javascript
Vue SSR 即时编译技术的实现
2020/05/06 Javascript
javascript使用正则表达式实现注册登入校验
2020/09/23 Javascript
[04:49]期待西雅图之战 2016国际邀请赛中国区预选赛WINGS战队赛后采访
2016/06/29 DOTA
[01:28:44]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第一场 1月10日
2021/03/11 DOTA
学习python (2)
2006/10/31 Python
仅用500行Python代码实现一个英文解析器的教程
2015/04/02 Python
python利用smtplib实现QQ邮箱发送邮件
2020/05/20 Python
python中ASCII码和字符的转换方法
2018/07/09 Python
python opencv 实现对图像边缘扩充
2020/01/19 Python
如何搭建pytorch环境的方法步骤
2020/05/06 Python
Numpy实现卷积神经网络(CNN)的示例
2020/10/09 Python
香港彩色隐形眼镜在线商店:Stunninglens(全球免费送货)
2019/05/10 全球购物
银行介绍信范文
2014/01/10 职场文书
教育学习自我评价
2014/02/03 职场文书
艾滋病宣传活动总结
2014/05/08 职场文书
物理教育专业求职信
2014/06/25 职场文书
计算机多媒体专业自荐信
2014/07/04 职场文书
护理专科学生自荐书
2014/07/05 职场文书
走群众路线学习心得体会
2014/10/31 职场文书
2014年药店店长工作总结
2014/11/17 职场文书
西湖英语导游词
2015/02/06 职场文书
营运督导岗位职责
2015/04/10 职场文书
2016中秋节广告语
2016/01/28 职场文书
PHP判断是否是json字符串
2021/04/01 PHP
A22国内电台短波广播频率表
2022/05/10 无线电