submit(event) {
event.preventDefault()
el-input 是文本域类型,其绑定了失去焦点事件。el-button是提交按钮。当点击提交按钮时,目的是执行提交操作,但出现bug,变为执行了el-input的失去焦点事件,没有执行submit事件。
在开发中我们会经常遇到blur和click冲突的情况。下面叙述了开发中常遇到的“下拉框”的问题,并提供了两种解决方案。
一、blur和click事件简述
blur事件:当元素失去焦点时触发blur事件;其为表单事件,blur和focus事件不会冒泡,其他表单事件都可以。
click事件:当点击元素时触发click事件;所有元素都有此事件,会产生冒泡。
示例1:blur事件为表单事件
<input type="text" id="tel">
[removed]
document.addEventListener("blur", function(){
console.log("my
整体思路是这样,当文本框的值改变时触发事件,对列表中原有的值进行过滤。 根据这个思路,首先需要解决的无非是确定文本框的什么事件可以满足要求,当时第一个想到的是onkeydown或者onkeypress,在试的过程中发现再输入中文时,无法响应,因为输入方会将焦点给屏蔽了。在网上寻觅了一会发现onpropertychange事件为改变文本属性时就会出发,所以当文本框输入数据的时候其实是在改变文本框的value属性。而且中文也可以满足,本以为大功告成,最后才发现这个事件为IE的专属事件,其他的浏览器并没有该事件。而对应的oninput则可以满足需求。 具体的实现是,文本框,隐藏按钮,当在文本框输入内
做需求时碰到了一个问题,就是input失去焦点会触发请求接口操作,而点击旁边的按钮不触发这个操作。这个问题困扰了挺长时间,通过查阅资料找到了解决方案,记录一下。
1、在按钮点击操作时添加一个onmousedown方法,使用e.preventDefault操作,这样就阻止了input失焦点的触发,简易代码如下。
<!DOCTYPE html>
<html lang="en">
<meta charset=.