easy-ui textbox blur?change?

来源:互联网 发布:java小写字母转大写 编辑:程序博客网 时间:2024/05/29 15:30
 easy-ui将dom重新封装了,所以按照正常的方法添加blur事件是行不通的。
就为了一个小小的blur事件,尝试了各种方法,百度的也找了很多,花了将近2小时,实在不行想到暂时先用change(值改变)事件替代。

textbox在编辑时只是很简单的一句:
<input class="easyui-textbox" type="text" style="width: 135px;" maxlength="20" id="city" /> 

但是经过浏览器解析后,却完全改变了dom结构:
 
首先正常方法不行,那么百度,以下方法来多个博客,可供参考:
方法一:
  1. $("input",$("#city").next("span")).blur(function(){  
  2.     alert("登录名已存在");  
  3. })
方法二:
    在data-options添加 events:{blur: function(){ alert('提示') }} 
方法三: 
    $('#loginName').textbox('textbox').bind('blur',function(){alert('提示')}) 
这个有反应,但是不是blur,而是click。

虽然网上都说亲测可用,然并卵,在我这通通都不行……
 
于是只好找个替代了,想到onchange事件,结合方法三,达到了类似的效果。
 
$('#loginName').textbox('textbox').bind('change',function(){alert('提示')}) 
但毕竟还是有所区别,所以只好再添加一些js处理。
然而这样还是不行,但发生change事件,发现输出的是修改前的值,也就是输出的永远都是上一次的值,不明所以……
所以又只好换成键盘输入事件了……
$('#city').textbox().next('span').keydown(function(e){
if(e.keyCode==13){
var city = $('#city').textbox('getText');
toggle(city);
}
});

east-ui虽然封装的不错,然没有前端基础的人很快作出布局,但是稍微熟悉前端的人却比较麻烦,要花时间去看api
还不如自己写来的快…… 
0 0
原创粉丝点击