$(document).ready未在brunch / jade / backbone项目中调用

时间:2015-03-23 16:06:17

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

我有一个brunch / jade / backbone的项目,它使用index.html文件,使用backbone和jade调用所有内容。

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文件包含生成的(使用早午餐)jquery.js,backbone.js以及我需要的其他库。所以它在之前包含在脚本中。

我的layout.jade:

body
  [blah...blah]

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

数据/ credentials.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文件都在那里执行?所以警告功能应该触发,不应该触发吗? 我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

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

window.onload('Example');

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

}