EasyUI textbox添加mouseleave事件,获取不到值

项目中为了更好的用户体验,要求在用户输入完成某个要素后,当鼠标mouseleave该要素的时候,根据该要素录入的值,触发后台查询。

前端使用EasyUI textbox,首先给该控件绑定mouseleave事件,代码如下:

("input", $("#testMouseleave").next("span")).mouseleave(function () {
        console.log($(this).find('input').last().val());
    });

问题:输入的值不能实时获取,F12看DOM结构,发现确实没有实时更新。看必须在“testMouseleave”失去焦点时,才会更新成最新的。

EasyUI textbox添加mouseleave事件,获取不到值_第1张图片

解决方案:

1、先给testMouseleave绑定失去焦点事件,注意:必须是$("#testMouseleave").next("span").find('input').first()这么写,否则获取不到最新值,可以看DOM结构。

EasyUI textbox添加mouseleave事件,获取不到值_第2张图片

2、主动失去焦点

("input", $("#testMouseleave").next("span")).mouseleave(function () {
        // 主动触发失去焦点
        ("input", $(this).find('input').first()).blur();
        //失去焦点后获取最新的值
        console.log($(this).find('input').last().val());
    });

 

你可能感兴趣的:(javascript,jquery)