首页 > 代码库 > easyUI——easyui-textbox的onblure事件失效 .

easyUI——easyui-textbox的onblure事件失效 .

easyUI的form表单中有很多种类型的标签,easyui-validate、easyui-textbox、easyui-combox、easyui-datebox、easyUI-datetimebox等等。

在使用easyui-textbox时,想通过onblure()事件做一些处理,可是,事件总不被触发。一个最基本最简单的onblure(),怎么可能不执行?因为缓存?来回试了好多次,还是不能触发,于是,在别人那里试,结果还是不行。这下,不再轻视这个问题了,开始思考原因。最终,问题还是解决了,我们先来看两行代码,看完,你就知道答案了。

使用easyui-textbox:

 

[html] view plaincopyprint?技术分享技术分享
  1. <input id="loginName"class="easyui-textbox" missingMessage="请填写登录名" data-options="required:true,validType:‘length[1,5]‘" onblur="isExistLoginName()">  
<input id="loginName"class="easyui-textbox" missingMessage="请填写登录名" data-options="required:true,validType:‘length[1,5]‘" onblur="isExistLoginName()">

技术分享

 

使用easyui-validatebox:

 

[html] view plaincopyprint?技术分享技术分享
  1. <input id="loginName" class="easyui-validatebox" missingMessage="请填写登录名" data-options="required:true,validType:‘length[1,5]‘" onblur="isExistLoginName()">  
<input id="loginName" class="easyui-validatebox" missingMessage="请填写登录名" data-options="required:true,validType:‘length[1,5]‘" onblur="isExistLoginName()">

 

技术分享

对比两个html,看出问题了吧?easyui-validatebox和easyui-textbox所生成的dom结构是不一样的。

easyui-validate类型的输入框,可以直接 触发onblure()事件,而easyui-textbox类型的输入框,onblure()事件需要换一种触发方式:

 

[javascript] view plaincopyprint?技术分享技术分享
  1. $("input",$("#loginName").next("span")).blur(function(){  
  2.     alert("登录名已存在");  
  3. })  

easyUI——easyui-textbox的onblure事件失效 .