Jquery ui 快速点击干扰jQuery UI选择触摸菜单

Jquery ui 快速点击干扰jQuery UI选择触摸菜单,jquery-ui,touch,fastclick.js,Jquery Ui,Touch,Fastclick.js,我正在尝试在使用时实现。点击selecmenu下拉列表中的一个条目不会在触摸时注册,即关闭列表而不实际选择点击的列表项。为了解决这个问题,我使用了bind()来添加类。需要在创建jQuery UI元素时单击(如中所建议的)。这是为了确保FastClick不会应用于有问题的元素 不幸的是,只有在我打开和关闭菜单一次后才添加该类,因此它只在第二次尝试选择列表项时起作用,即使在加载页面时插入了元素。如何确保在jQueryUI插入元素时添加它 下面是一个工作代码笔,它演示了这个问题: JavaScrip

我正在尝试在使用时实现。点击selecmenu下拉列表中的一个条目不会在触摸时注册,即关闭列表而不实际选择点击的列表项。为了解决这个问题,我使用了
bind()
来添加类
。需要在创建jQuery UI元素时单击
(如中所建议的)。这是为了确保FastClick不会应用于有问题的元素

不幸的是,只有在我打开和关闭菜单一次后才添加该类,因此它只在第二次尝试选择列表项时起作用,即使在加载页面时插入了元素。如何确保在jQueryUI插入元素时添加它

下面是一个工作代码笔,它演示了这个问题:

JavaScript:

$(文档).ready(函数(){
/*全球快速点击*/
$(函数(){
FastClick.attach(document.body);
});
$(“#文件类型”)。选择功能表({
宽度:“100%”
});
//修复了手机上快速点击破坏jQuery UI的问题
$('body').bind('domandeinserted',function(){
$(this.find('.ui菜单项').addClass('needsclick');
});
});
HTML:


文件类型
文件
PDF
HTML

所以经过进一步的研究,结果是“”。一个建议是尝试,但这是打开一个完整的蠕虫罐头的东西,应该是快速和简单的

我已经解决了我的问题,通过监听jQuery UI创建的元素上的单击来替换本机元素,如
,然后添加
。需要单击插入的列表项中的

$('.ui-widget').on('click', function(e) {
  $('.ui-menu-item').addClass('needsclick');
});
需要这样做,因为列表项仅在单击
.ui小部件
后创建