【问题标题】:$(document).ready not called in brunch/jade/backbone project$(document).ready 未在 brunch/jade/backbone 项目中调用
【发布时间】:2015-05-26 17:16:11
【问题描述】:

我有一个包含 brunch/jade/backbone 的项目,该项目使用 index.html 文件,该文件使用主干和翡翠调用所有内容。

index.html(部分):

<html>
<head>
  [...]
  <script type="text/javascript" src="data/vendor.js"></script>
  <script type="text/javascript" src="data/app.js"></script>
  <script type="text/javascript" src="data/data.js"></script>
  <script type="text/javascript">
    require('initialize');
  </script>
</head>
<body></body>
</html>

vendor.js 文件包括生成的(使用 brunch)jquery.js、backbone.js 和我需要的其他库。所以它被包含在 before 脚本中。

我的 layout.jade:

body
  [blah...blah]

  script(src="data/credentials.js")

数据/凭据.js:

var username="blah";
var password="bluh";

// alert("test");
$(document).ready(function(){
  $("#credentials").html(
    '<div class="username">' + username + '<div>' + 
    '<div class="password">' + password + '<div>' + 
    );
});

我看到 js 文件包含在最终的 html 文件中,但是无论我尝试什么,ready 函数都不会执行。有趣的是,如果我取消注释警报,我也看不到任何弹出窗口。

那么为什么找到、加载了这个文件,但没有执行呢?我认为在 html 文件中加载的每个 js 文件都在那里执行?所以 alert 函数应该触发,不是吗? 我在这里做错了什么?

【问题讨论】:

  • 是否包含 jQuery,是否正确加载?
  • jQuery 包含正确,并且在此脚本之前。
  • 呃,为什么这个问题被否决了?
  • 和一个简单的警报应该与 JQuery 无关。
  • 尝试在您的控制台中查看是否定义了用户名或密码。既然你说警报永远不会显示,我猜脚本永远不会加载。

标签: javascript backbone.js pug document-ready brunch


【解决方案1】:

我认为这应该可以解决问题,因为您没有包含任何 JQuery。

window.onload('Example');

function Example()
{
document.getelementbyid(credentials).innerHtml = 
'<div class="username">' + username + '<div>' + 
    '<div class="password">' + password + '<div>';

}

【讨论】:

  • JQuery 包括在内,应该提到它。如果没有,我会收到一条错误消息,即 $ 未定义....
猜你喜欢
  • 2014-04-20
  • 2018-02-01
  • 2017-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多