Jquery mobile 使用twitter引导获得双范围滑块

Jquery mobile 使用twitter引导获得双范围滑块,jquery-mobile,twitter-bootstrap,Jquery Mobile,Twitter Bootstrap,我想使用升级的jQuery Mobile双范围滑块。 我需要将它与twitter引导一起使用。然而,jquerymobile不能很好地使用Twitter引导,当javaScript文件放在页面底部时,它会关闭下拉菜单(根据yslow)。下面是3个jsbin示例来说明问题: 添加jQuery Mobile后,twitter引导菜单将失败: 如果没有jQuery Mobile.js文件,twitter引导菜单工作正常: 如果所有javaScript都在标题中(糟糕的做法),菜单也可以工作,但我

我想使用升级的jQuery Mobile双范围滑块。

我需要将它与twitter引导一起使用。然而,jquerymobile不能很好地使用Twitter引导,当javaScript文件放在页面底部时,它会关闭下拉菜单(根据yslow)。下面是3个jsbin示例来说明问题:

添加jQuery Mobile后,twitter引导菜单将失败:

如果没有jQuery Mobile.js文件,twitter引导菜单工作正常:

如果所有javaScript都在标题中(糟糕的做法),菜单也可以工作,但我需要避免将所有javaScript都放在标题中:

我可以看到twitter bootstrap js的链接断开了,我已经修复了,你的示例对我来说很好,下拉菜单和进度条都可以

如果你只是想让jquerymobile使用bootstrap,你可以使用下载使范围滑块工作的片段

不幸的是,您得到的是不完整的,而且最重要的是它不能自我初始化,因此您需要手动执行此操作:

$('div[data-role=rangeslider]').rangeslider();
您需要应用自己的一些样式,以弥补在自定义下载中遗漏的太多内容。但是你可以在不破坏引导的情况下获得范围滑块

使用所有jquery mobile时,引导中断的原因更为复杂。Init模块在代码中应用了大量的类,尤其是.ui btn到按钮。这是导致引导失败的主要原因——nav菜单使用了一个按钮标记,该标记应用了有问题的类,然后从jquerymobile中引入了所有有问题的样式


解决这一问题的更简单的方法是只使用jquerymobile而不使用Init模块,然后只初始化您需要的东西——希望它们的按钮不是这些东西之一。解决这个问题的最好方法是:改进jquerymobile,这样就永远不会与Bootstrap发生冲突,或者使用某种特殊的noBSconflict()方法,或者运行一些可以避免应用会破坏Bootstrap但正常运行的类的方法。

Hi Sergiy,感谢您注意到这一点。JSFIDLE产生了与我的真实页面相同的错误,所以我没有注意到它们是由于不同的原因发生的。我已经更新了我的问题,添加了一个jsBin,它看起来更接近我的真实页面,并正确地说明了问题。使用slider时也有同样的问题。Twitter引导程序不适用于jQuery UI。