4

我在我的网页中使用 jquery selectmenu 功能,但它似乎无法在 ios 浏览器上正常工作。

选择我的菜单项后,菜单消失,但我的更改:功能根本没有触发。它只是再次隐藏菜单。

我的代码如下:

$('#adultMenu').selectmenu({
    change: function() {
        adultval = $(this).val() + ' Adults. ';
        var inputvalue = adultval + childval + youthval + infantval;  
        $('#personInput').val(inputvalue);
    }
});

我认为这在 iOS 上是一个很常见的问题,但是在阅读论坛很长时间后我还没有找到答案。

任何帮助都会很棒!

4

2 回答 2

1

来自未来的亲爱的人们:这是我到目前为止所发现的:
编辑了新的结论

经过更多的实验,我找到了原因。当您使用菜单中没有的内容设置选择菜单的值时,就会发生这种情况。下面演示了这个问题:

var $fubar = $('.fubar');

$fubar.selectmenu({
    'change': function () {
        $fubar.val('Pancakes');
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<link href="https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" rel="stylesheet"/>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script>
<select class="fubar">
    <option>Cake</option>
    <option>Ice Cream</option>
</select>

于 2015-09-08T22:11:18.963 回答
0

如果您使用的是 FastClick 库,则可能是问题所在。根据此评论,我必须禁用 FastClick 进行选择:https ://github.com/ftlabs/fastclick/issues/268#issuecomment-65022184 。对于选择菜单,我在 if 中添加了一个条件:

if (targetElement.nodeName.toLowerCase() == 'select' || targetElement.hasClass('ui-menu-item')) {
    return false;
  }
于 2015-09-21T13:19:03.430 回答