【发布时间】:2012-07-05 23:27:19
【问题描述】:
我试图在选择元素更改时触发一个函数。
由于 Ipad 在 on('change') 上遇到问题,我还想绑定到 'blur',这在 Ipad 上运行良好。
但是我不希望两个事件都触发该函数两次,所以我需要某种钩子来确保 change 和 blur 是否都触发,底层函数只触发一次。
这就是我现在正在做的,但是......不是很好:
// make sure binding is only assigned once
var compSel = $('#my_select');
if ( compSel.jqmData('bound') != true ){
console.log("bound");
compSel.jqmData('bound', true)
.on( $.support.touch ? 'blur' : 'change', function(){
console.log("trigger");
// run function xyz
})
}
如果您可以使用所有使用 blur 的可触摸设备,则此方法有效。
问题:
有没有人有更好的主意来确保模糊和更改只触发一次功能?
感谢您的帮助!
【问题讨论】:
标签: javascript jquery events jquery-mobile