Boostrap 3工具提示和头标记中的IScroll Javascript冲突

Boostrap 3工具提示和头标记中的IScroll Javascript冲突,javascript,jquery,twitter-bootstrap,tooltip,iscroll,Javascript,Jquery,Twitter Bootstrap,Tooltip,Iscroll,似乎无法找出此代码的问题。如果我移除IScroll,工具提示会起作用,反之亦然。任何线索都会有帮助。下面是本页的标题部分 <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0"> <meta name="apple-mobile-

似乎无法找出此代码的问题。如果我移除IScroll,工具提示会起作用,反之亦然。任何线索都会有帮助。下面是本页的标题部分

<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="description" content="">
<meta name="author" content="mydomain.com">

<title>My Title</title>

<!-- Bootstrap Core CSS -->
<link href="css/bootstrap.min.css" rel="stylesheet">

<!-- MetisMenu CSS -->
<link href="css/plugins/metisMenu/metisMenu.min.css" rel="stylesheet">

<!-- Timeline CSS -->
<link href="css/plugins/timeline.css" rel="stylesheet">

<!-- Custom CSS -->
<link href="css/sb-admin-2.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="css/app.css">

<!-- Exam Plugin -->
<link type="text/css" rel="stylesheet" href="lib/css/styles.css" media="screen"/>

<!-- Custom Fonts -->
<link href="font-awesome-4.1.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">

<!-- JQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<!-- Bootstrap Core JavaScript -->
<script src="js/bootstrap.min.js"></script>

<!-- Metis Menu Plugin JavaScript -->
<script src="js/plugins/metisMenu/metisMenu.min.js"></script>

<!-- Custom Theme JavaScript -->
<script src="js/sb-admin-2.js"></script>

<!-- IScroll -->
<script type="text/javascript" src="iscroll.js"></script>

<!-- Functions -->
<script type="text/javascript">
    // Tooltip function
    $( document ).ready(function() {
        $('[data-toggle="tooltip"]').tooltip({ 'placement': 'top' });
    });

    //IScroll
    var myScroll;
    function loaded () {
        myScroll = new IScroll('#wrapper', {
            scrollbars: false,
            hscroll: false,
            mouseWheel: true,
            interactiveScrollbars: true,
            shrinkScrollbars: 'scale',
            fadeScrollbars: true
        });
        setTimeout(function () {
            myScroll.refresh();
        }, 0);
    }
    document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
</script>

我的头衔
//工具提示功能
$(文档).ready(函数(){
$('[data toggle=“tooltip”]')。工具提示({'placement':'top'});
});
//IScroll
迈斯克罗尔变种;
已加载函数(){
myScroll=新IScroll(“#包装器”{
滚动条:false,
克罗尔:错,
鼠标轮:是的,
交互滚动条:对,
收缩滚动条:“缩放”,
fadeScrollbars:真
});
setTimeout(函数(){
myScroll.refresh();
}, 0);
}
addEventListener('touchmove',函数(e){e.preventDefault();},false);
Benn正在阅读关于JQuery noconflict()的文章,但不确定这是否适用于上述内容。要挑出我遇到问题的代码,这里没有标题部分的其余部分

<!-- Functions -->
<script type="text/javascript">
    // Tooltip function
    $( document ).ready(function() {
        $('[data-toggle="tooltip"]').tooltip({ 'placement': 'top' });
    });

    //IScroll
    var myScroll;
    function loaded () {
        myScroll = new IScroll('#wrapper', {
            scrollbars: false,
            hscroll: false,
            mouseWheel: true,
            interactiveScrollbars: true,
            shrinkScrollbars: 'scale',
            fadeScrollbars: true
        });
        setTimeout(function () {
            myScroll.refresh();
        }, 0);
    }
    document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
</script>

//工具提示功能
$(文档).ready(函数(){
$('[data toggle=“tooltip”]')。工具提示({'placement':'top'});
});
//IScroll
迈斯克罗尔变种;
已加载函数(){
myScroll=新IScroll(“#包装器”{
滚动条:false,
克罗尔:错,
鼠标轮:是的,
交互滚动条:对,
收缩滚动条:“缩放”,
fadeScrollbars:真
});
setTimeout(函数(){
myScroll.refresh();
}, 0);
}
addEventListener('touchmove',函数(e){e.preventDefault();},false);

您应该将iScroll代码包装在一个文件夹中,以防止全局命名空间冲突,例如:

(function ($) {
    $(function () {
        var myScroll = new IScroll('#wrapper', {
            scrollbars: false,
            hscroll: false,
            mouseWheel: true,
            interactiveScrollbars: true,
            shrinkScrollbars: 'scale',
            fadeScrollbars: true
        });
        setTimeout(function () {
            myScroll.refresh();
        }, 0);
    });
})(jQuery);

我也添加了document ready,并删除了函数包装器,因为我看不到您在任何地方调用它。

Hi#Tomanow您知道我是否需要保留这行代码,它紧跟在Iscroll函数之后吗?document.addEventListener('touchmove',function(e){e.preventDefault();},false);如果要停止
touchmove
事件,可以添加以下内容:
$(document).on('touchmove',function(e){e.preventDefault();})嗨@tomanow,似乎不起作用。我尝试过复制和粘贴您的代码,但没有成功。代码似乎很好,不确定为什么不启动,Firebug没有显示任何错误。