最近在使用mui的poppicker实现弹出选择功能,但是因为input需要设置readonly属性,所以不能有焦点,直接给input添加onchange是不生效的,采用了以下方法实现change事件,代码如下:
if (!!data)
{
var fn = o.attr("onchange");
//组织数据数组
var arr = [];
$.each(data,function(i,item){
arr.push({value:item.CODE,text:item.TEXT});
});
g.data = arr;
var dataPicker = new mui.PopPicker();
dataPicker.setData(arr);
document.getElementById(o.attr("id")).addEventListener('tap',function(event){
dataPicker.show(function(items){
o.val(items[0].text);
// 此处写法用来绑定change事件
if (g.value != items[0].value && !!fn)
{
g.value = items[0].value;
eval(fn);
}
else
{
g.value = items[0].value;
}
)
},false);
}
上述代码data是poppicker需要组织的数据,o指的是input对象,g.value是全局变量,fn是input绑定的onchange事件