基于Bootstrap实现的下拉菜单手机端不能选择菜单项的原因附解决办法

 更新时间:2016年07月22日 14:37:27   投稿:mrr  
小编使用bootstrap做的下拉菜单在电脑浏览器中可以正常使用,在手机浏览器中能弹出下拉列表却不能选择列表中的菜单项,怎么回事,如何解决呢?下面小编给大家分享下具体原因及解决办法,一起看下吧

基于Bootstrap做的下拉菜单在电脑浏览器中可正常使用,在手机浏览器中能弹出下拉列表,却不能选择列表中的菜单项,通过自己百度查找原因将bootstrap脚本文件中的ontouchstart 替换为 disable-ontouchstart可以解决,替换后并不能解决。(红米手机UC浏览器不支持,小米手机UC浏览器正常,其他暂时未测试)

jquery:v1.11.2

bootstrap:v3.3.4

以下为前台页面代码:

<div class="input-group">
<span class="input-group-addon" id="sizing-addon2">本外地福利:</span>
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" id="btnFuLi" name="btnFuLi" data-toggle="dropdown"
value="" aria-expanded="false">
请选择本外地福利… <span class="caret"></span>
</button>
<ul class="dropdown-menu" id="UiFuLi" role="menu">
<li><a title='1' href='#'>本地福利</a></li><li class='divider'></li>
<li><a title='2' href='#'>外地福利</a></li><li class='divider'></li> 
</ul>
<input id="txtFuLi" name="本外地福利"/>
</div>
</div>

以下为JS脚本:(给下拉菜单项添加click)

DataBindFuLi: function () {
$("#UiFuLi li a").bind("click", function () {
var $this = $(this);
var $a = $this.parent().parent().prev()
var t = $this.text();
$a.val($this.attr('title'));
$('#txtFuLi').val($this.attr('title'));
$a.text($this.text());
$a.append("<span class='caret'>");
});
}

解决方法如下所示:

以下代码手机浏览器不支持,将以下元素指定ID赋值即可解决()

$this.parent().parent().prev()

调整后代码:

$("#drpWorkType li a").bind("click", function () {
var $this = $(this);
//var $a = $this.parent().parent().prev()
$('#txtWorkType').val($this.attr('title'));
$('#btnWorkType').val($this.attr('title'));
$('#btnWorkType').text($this.text());
//$a.val($this.attr('title'));
//$a.text($this.text());
//$a.append("<span class='caret'>");
});

以上所述是小编给大家介绍的基于Bootstrap实现的下拉菜单手机端不能选择菜单项的原因附解决办法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 使用JavaScript字符串解决回文数的方案详解

    使用JavaScript字符串解决回文数的方案详解

    这篇文章主要介绍了使用JavaScript字符串解决回文数的方案,JavaScript中的字符串是一种数据类型,用于表示文本数据,字符串可以包含任意字符序列,包括字母、数字、符号和空格,灵活掌握字符串的解决问题思想,巧用字符串解决回文数,需要的朋友可以参考下
    2024-05-05
  • JavaScript实现轮播图方法(逻辑清晰一看就懂)

    JavaScript实现轮播图方法(逻辑清晰一看就懂)

    这篇文章主要给大家介绍了关于JavaScript实现轮播图方法的相关资料,JS轮播图的实现核心是使用JavaScript来控制图片的切换和显示,配合HTML和CSS完成布局和样式设置,文中介绍的方法逻辑清晰一看就懂,需要的朋友可以参考下
    2023-12-12
  • 表单验证正则表达式实例代码详解

    表单验证正则表达式实例代码详解

    这篇文章主要介绍了表单验证正则表达式实例代码详解的相关资料,需要的朋友可以参考下
    2015-11-11
  • js实现楼层效果的简单实例

    js实现楼层效果的简单实例

    下面小编就为大家带来一篇js实现楼层效果的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • 用原生JS实现简单的多选框功能

    用原生JS实现简单的多选框功能

    这篇文章主要介绍了用原生JS实现简单的多选框功能,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-06-06
  • js带缩略图的图片轮播效果代码分享

    js带缩略图的图片轮播效果代码分享

    这篇文章主要介绍了js带缩略图的图片轮播效果,图片轮播效果特别适合做产品展示,感兴趣的小伙伴可以参考下。
    2015-09-09
  • Cordova(ionic)项目实现双击返回键退出应用

    Cordova(ionic)项目实现双击返回键退出应用

    这篇文章主要为大家详细介绍了Cordova项目实现双击返回键退出应用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • JavaScript库之vanilla-tilt使用教程(一个平滑的3D倾斜库)

    JavaScript库之vanilla-tilt使用教程(一个平滑的3D倾斜库)

    vanilla-tilt.js是Javascript中一个平滑的3D倾斜库,可以让网页的一些控件变得动态起来,下面这篇文章主要给大家介绍了关于JavaScript库之vanilla-tilt使用的相关资料,需要的朋友可以参考下
    2023-02-02
  • 浅谈js中StringBuffer类的实现方法及使用

    浅谈js中StringBuffer类的实现方法及使用

    下面小编就为大家带来一篇浅谈js中StringBuffer类的实现方法及使用。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • Promise.all中对于reject的处理方法

    Promise.all中对于reject的处理方法

    这篇文章主要介绍了Promise.all中对于reject的处理方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08

最新评论