Django - 导入jquery时页面不向下滚动

时间:2017-05-06 05:48:59

标签: javascript python html django

基本上,如果我按照以下方式导入jquery:

<key>FacebookAppID</key>
<string>{{APP_ID}}</string>
<key>FacebookClientToken</key>
<string>{{CLIENT_TOKEN}}</string>
<key>FacebookDisplayName</key>
<string>{{APP_NAME}}</string>
<key>LSApplicationQueriesSchemes</key>
<array>
    <string>fbapi</string>
    <string>fb-messenger-api</string>
    <string>fbauth2</string>
    <string>fbshareextension</string>
</array>

我碰巧观察到两种不同的情景:

  • 如果我使用我的Django模板,我无法再在鼠标垫中向下滚动页面,只能使用滚动条。如果我删除了导入jquery的行,我可以再次向下滚动!

  • 如果我决定查看从模板生成的源代码,请将其完全复制并粘贴到新的html文件中,如果我在浏览器中打开它,现在我可以使用鼠标垫/箭头向下滚动。 / p>

地球上究竟是什么原因?我错过了什么?

我的base.html模板更多内容如下:

<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> 

1 个答案:

答案 0 :(得分:0)

必须有一些代码拦截鼠标事件并阻止滚动。有点像:

$(document).on("mousewheel", function (e) {
    e.preventDefault();
    return false;
});

(脚本取from here,仅用于说明目的。你的看起来会有所不同。)

它几乎可以在任何地方。甚至可能不在你的代码中,而是一些第三方脚本。我们无法看到这一点。可能的情况是,如果没有jQuery,它会失败,并且不会吃滚动事件,但是当你添加jQuery时,它会成功安装一个监听器,而你的浏览器开始出现“行为不端”的情况。

这不是确定的,只是猜测最可能的原因。搜索&#34; mousewheel&#34;的所有文件(HTML和JS),查看事件监听器的浏览器devtools,也许你会找到一些东西。另外,如果您有任何第三方<script>,请考虑暂时禁用所有第三方Node.js Node.js Version = 6.10.2 npm Version = 2.15.11 FATAL ERROR: v8::ToLocalChecked Empty MaybeLocal. 。我想你可以安装类似uMatrix的东西并阻止所有外部资源。然后逐个取消阻止它们。