碧玉事件

onclick event in jade

本文关键字:事件      更新时间:2024-04-22

我正试图在jade中制作一个简单的警报事件,但不知何故它不起作用,不知道是什么问题,也许你们能找到它?

代码:PS:你可以忽略插槽。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>

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

如果是,我认为这将导致socket.io.js无法正确加载。如果加载不正确,那么在绑定jQueryDOMReady侦听器之前,javascript执行将在io.connect中断。

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

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