你点击 美国 的时候,不是焦点离开 文本框 么?你至少要说明什么时候不触发呀?那点击亚美尼亚呢?触发么?
在失去焦点事件中增加判断,
获取鼠标现在的位置,
如果在你需要不触发的位置就是没也不做
在你需要出发的位置就触发呗。要说失去焦点
就不得不先说
获得焦点
大部分有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是事件函数的形参,表示的是参与动作的事件:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)