的点击和Javascript中的模糊事件的详细分析,为

的点击和Javascript中的模糊事件的详细分析,为
一、现象

在最近的发展中,需要以下具体要求。
这是一个非常常见的要求,输入框负责在单击返回和丢失焦点时确认输入。按钮负责清除输入,输入绑定代码是:
Input.addEventListener('blur,函数(){(){
console.log(输入模糊);
});
Input.addEventListener('keyup,函数(){(){
console.log(输入KeyUp);
});
x绑定的代码是:
Button.addEventListener(听到咔哒声,功能(e){
console.log(按钮点击');
});
尝试执行代码,并按照第一个单击按钮取消操作,结果如下:
如您所见,单击按钮前会触发输入模糊,这使得取消操作实际上无效。

同时,也可以找到事件的执行顺序(输入模糊)-(单击按钮);

两。解决方案1

最简单的办法是改变按钮的时间的onmousedown事件得到以下结果:
事件的顺序是正确的,但在这个解决方案中有两个问题:

a)在按下按钮后不能取消单击

B)为了控制模糊的执行,需要额外的代码。

那么木材还有进一步的解决办法吗

三。解决方案2

按钮绑定到鼠标的同时模糊事件,和具体的代码和执行结果如下:
Button.addEventListener('mousedown功能(e){
console.log(按钮mousedown);
E.preventDefault();
});
Button.addEventListener(听到咔哒声,功能(e){
console.log(按钮点击');
Input.blur();
});
这样就克服了第一种方案的两个缺点,完美地解决了需求。

四,执行命令

经过查询W3C标准,没有模糊和MouseDown顺序指令,点击被发现。据猜测,模糊需求的mousedown执行默认的事件触发,事件的顺序应该是:MouseDown ->(其他)模糊-> MouseUp ->点击

总结

以上就是本文的全部内容。希望本文的内容能给大家的学习工作带来一定的帮助。如果有任何疑问,您可以留言交流,谢谢您的支持
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部