1

我正在尝试在jade中制作一个简单的警报事件,但它无法正常工作,真的不知道是什么问题,也许你们能找到它?

代码:PS:可以忽略socket.io代码

html
head
script(src='jquery-1.7.1.js')
  script(src='/socket.io/socket.io.js')
script
  var socket = io.connect('http://localhost:3002/add_users');
  socket.on("update", function(message) {
  console.log("update: ", message)
  });
  $(function() {
  $("button").click(function() {
    alert("hej");
  });
  });   
body
.container
.content
    header.page-header
       h1 Welcome
    .row

            form(action='/', method='post')
                fieldset
                        label(for="name") Namn
                            input(type="text", size="30", name="name", required="required")
                            button Save
            ul
                li <a href="/users">User list</a>
4

2 回答 2

0

我认为您的$("button").click()代码在加载 DOM 之前执行。您应该明确地将您的函数传递给$.ready().

PS:我知道将函数传递给jQuery(你所做的)应该和做的一样,$.ready()但我之前遇到过同样的问题。

于 2012-07-31T14:57:10.773 回答
0

我自己对 Jade 没有太多经验,但你的script(src='/socket.io/socket.io.js')缩进不是错误的吗?

如果是,我认为这会导致socket.io.js无法正确加载。如果它没有正确加载,那么io.connect在绑定 jQuery DOMReady 侦听器之前,您的 javascript 执行将中断。

于 2012-07-30T11:52:31.340 回答