js 一个元素触发失去焦点事件 另一个元素不触发失去焦点事件

js 一个元素触发失去焦点事件 另一个元素不触发失去焦点事件,第1张

你这个说法本身自相矛盾呀,
你点击 美国 的时候,不是焦点离开 文本框 么?你至少要说明什么时候不触发呀?那点击亚美尼亚呢?触发么?
在失去焦点事件中增加判断,
获取鼠标现在的位置,
如果在你需要不触发的位置就是没也不做
在你需要出发的位置就触发呗。

要说失去焦点
就不得不先说
获得焦点
大部分有Enabled和Visible属性的对象都有
Got_Focus()
和LostFocus()事件
而且对象的Enabled和Visible属性必须设置为TURE
才可以接受这两个事件
获得焦点即GOT_Focus
何为获得焦点呢
比如TEXT控件而言
他获得焦点的时候光标是在闪的
整个控件处于
一种激活状态
换句话说
焦点也可以说成是光标
比如按下按钮之后
COMMAND控件上有一圈虚线
这就是焦点
所在之处
如果这个焦点从TEXT控件
或者COMMAND控件上转移
了的时候
那么
TEXT或者COMMAND控件的焦点失去事件
即被触发
就FORM而言
是焦点不在窗体之上即触发
比如运行的时候你点击了窗
体以外的部分

TAB键切换顺序时候
或单击对象的用户动作
或者SETFOCUS方法
都可以触发对象的焦点失去事件
SETFOCUS是动态的用代码设置的
最后重申一句
对象的Enabled和Visible属性必
须同时设置为TRUE的时候
才可以接受这两个事件
下面的解释来自MSDN
此事件是在一个对象失去焦点时发生,焦点的丢失或者是由于制表键移动或单击另一个对象 *** 作的结果,或者是代码中使用
SetFocus
方法改变焦点的结果。
语法
Private
Sub
Form_LostFocus(
)
Private
Sub
object_LostFocus([index
As
Integer])
LostFocus
事件包括下列部分:
部分
描述
object
一个对象表达式,其值是“应用于”列表中的一个对象。
index
一个整数,它用来唯一地标识一个在控件数组中的控件。
说明
LostFocus
事件过程主要是用来对更新进行验证和确认。使用
LostFocus
可以在焦点移离控件时引进确认。这类事件过程的另一种用途与在
GotFocus
事件过程中的应用类似,可以隐藏、显示其它对象或者使它们有效或无效。也可使设置在该对象的
GotFocus
事件过程中的条件取反或对其进行更改。
如果由
Visual
Basic
所建立的
exe
文件要显示一个由也是用
Visual
Basic
所建立的
dll
文件所创建的对话框,则该
exe
文件的窗体将得到
Deactivate

LostFocus
事件。这可能是不希望的,因为对话框将不能获得
Deactivate
事件:
如果该对象是进程外的部件。
如果该对象不是用
Visual
Basic
编写成。
在开发环境中当调用一个用
Visual
Basic
所建立的
DDL
时。

onclick是点击事件,on表示当,click表示点击:
ondblclick(双击事件),和点击事件差不多

oncontextmenu 鼠标右键点击事件:
onmouseenter,onmouseover都是表示鼠标进入事件,onmouseleave,onmouseout都是鼠标离开事件,但是onmouseout 比 onmouseleave 先执行,而且如果元素里面存在子元素,鼠标在元素中移动时会反复触发 onmouseover 和 onmouseout,所以推荐使用onmouseenter,与onmouseleave。

onmousemove, 鼠标移动事件:
onmousedown是鼠标按下事件,

onmouseup是 鼠标d起事件,

这两个事件用法与上面相似,这里不再赘述。

焦点事件:

获得焦点事件:

onfocus

失去焦点事件:

onblur

案例:输入框获取和失去焦点时的变化(动态效果不好截屏)
阻止默认行为:

e preventDefault(),这里的e是事件函数的形参,表示的是参与动作的事件:


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13108899.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-30
下一篇 2023-05-30

发表评论

登录后才能评论

评论列表(0条)

保存