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. })
时间: 2024-10-12 18:35:40

easyUI——easyui-textbox的onblure事件失效 .的相关文章

easyui-textbox的onblure事件失效

easyui-validate类型的输入框,可以直接 触发onblure()事件,而easyui-textbox类型的输入框,onblure()事件需要换一种触发方式: $("input",$("#id").next("span")).blur(function(){ alert("aaa"); }) 或者 在data-options添加 events:{blur: function(){ alert('提示') }} 就可以

关于怎样用PHP及JS来动态加载html元素及加载的html代码绑定事件失效的解决方法!

首先编写好的html代码放入php文件里面设置请求头格式为text/html 然后呢我将用jquery来操作 先定义一个用了盛放代码的容器 $(function(){}) => window.onload .sn-header-bg 是我用来盛放代码的容器 我的php文件名是header.php放在data目录下! 执行以上代码完成后一个页头就出来了! 加载完成后我在header里面绑定了两个函数,但是全部失效了,原因是没找到对应的dom元素, 根本原因是我没加载完成之前这两个函数就已经执行去寻

IE IE8 iframe的onload方法分析 IE浏览器onload事件失效

判断iframe是否加载完成的完美方法 IE 支持 iframe 的 onload 事件,不过是隐形的,需要通过 attachEvent 来注册. 第二种方法比第一种方法更完美(采用readystatechange判断),因为 readystatechange 事件相对于 load 事件有一些潜在的问题. 这里感觉说的并不是完全准确,开始给我造成了很大的困扰.看其代码才明白,真正意义上来讲IE在创建一个新的iframe时的onload方法需要使用attachEvent来绑定,而原来就存在的ifr

ios移动端浏览器点击事件失效的解决方案

点击事件失效的原因可能是因为,你用了事件代理了, 比如这样 $(document).on("click",".fd",function(){ }) 这段代码在安卓机上是没有问题的,但是iso的自带浏览器和微信浏览器和其他浏览器都会失效,原因是ios规定,事件代理的元素只能是button元素其他一律不生效 想要解决这个问题,也很简单 1. $(document).on("click","button",function(){ }

a标签包着img事件 ie下 a标签的click事件失效

整个大的背景框有个点击事件, 如果标签结构是(详细的css样式略) a{background:green;} <a href=""> <img src="personal.png"/> <p>我是个人用户</p> </a> a标签有个click事件 像这样的 a标签包着img标签的时候 在ie下点击图片位置的时候 click事件不会触发 解决方式是把a标签改成div <div> <img

jQuery模拟鼠标点击事件失效的问题

最近使用jQuery操作浏览器获取数据,需要对分页的信息进行处理,发现直接使用$('div#pager a.next').click();的这种写法无法触发点击事件. 使用trigger('click')的写法也是无济于事. 在网上一顿扒拉后,发现使用$('div#pager a.next')[0].click();就OK了. $('div#pager a.next')[0]这种写法其实就相当于把jQuery对象转换为Dom对象了. 模拟点击不生效的原因 如果使用jQuery的写法:$('a#t

实例化vue之前赋值html元素导致事件失效

先实例化Vue对象,再操作其他对象,Vue对象声明时会渲染html容器内的所有元素, 会导致元素事件失效或dom元素重新创建,所以涉及html元素的对象都要在实例化Vue之后执行. 下面是简要的例子,还望高手指点,目前猜测是对象赋值后,vue渲染元素将元素进行了改变导致之前的赋值对象变化了,无论是jquery对象还是dom对象都不行. <div id="vm"> {{msg}} <input type="button" value="试试

关于动态生成dom绑定事件失效的原因

之前做项目都是直接用jquery的bind绑定事件,不过当时都不是动态生成dom元素,而是已经页面中原本存在的dom元素进行事件绑定,最近在测试给动态生成的dom绑定事件的时候发现事件失效,于是就测试了一下: 1.事件失效的原因:(1)bind事件绑定只对dom中存在的元素有效,对于我们后来动态增加的元素是监测不到,所以绑定不了 (2)同样,当你使用var aa = document.getElementsByTagName("动态生成的元素");来获取动态生成的元素的时候也是获取不到

WPF中TextBox的PreviewMouseLeftButtonUp事件

当使用TextBox的PreviewMouseLeftButtonUp事件时(例如,鼠标点击进入TextBox时,清除当前的输入内容),会很意外地发现,这时候不论怎么点击都无法点击到其他控件,焦点一直被文本框占用着. 解决办法及测试用例如下: 界面 1 <Window x:Class="learnwpf.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"