[英]typeahead.js iOS Safari vs Standalone Web App Differences
我知道typeahead.js还不支持移动设备。
即使它可以在移动浏览器(移动Safari)中使用,但是否有人对为什么一旦通过网页的“独立”版本查看表单后为什么它不起作用的想法有所了解?
发生的问题是,当我尝试“单击/触摸”建议下拉菜单时,它没有在独立版本中使用该条目填充输入,因为Safari版本确实可以使用。
这种类型的行为是否记录在任何地方或iOS已知?
谢谢。
另外:我向.tt-suggestion
添加了一个jquery委托的单击侦听器以显示警报,该警报在移动safari中有效,但在独立版本中不起作用(我认为委托事件未附加)。
$(document).on('click', '.tt-suggestion', function(e) {
alert('clicked');
});
我意识到我也在使用FastClick库,该库弄乱了下拉菜单和所选选项之间的延迟。
要解决此问题,请绑定一个dom变异侦听器,并将needsclick
类添加到每个<div class="tt-suggestion">
下的每个<div class="tt-suggestion">
<p>
类中:
$('.tt-dropdown-menu').bind('DOMNodeInserted', function(e) {
$(e.target).find('.tt-suggestion').children('p').addClass('needsclick');
});
您也许还可以尝试使用侦听器:
$('input.typeahead').change(function(e) {
$(this).closest('.tt-dropdown-menu').find('.tt-suggestion').children('p').addClass('needsclick');
});
或使用事件委托者:
$('.tt-dropdown-menu').click(function(e) {
$(e.target).children('p').addClass('needsclick');
});
注意:功能未经测试,它们基于内存。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.