繁体   English   中英

typeahead.js iOS Safari与独立Web App的区别

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM