0

我正在使用 Jade,我的 HTML 模板看起来像这样

.container
        .row
          form
            .span3.input-append(style='margin-top: 30%; margin-left: 30%;')
              input#main_search.span2(style='height: 26px; width: 400px;', type='text', id='searchBox' )
              input.btn.btn-large.btn-primary(type='button', value='search', id='searchButton')
include partials/scripts

而我的 scripts.jade 包括一堆 Javascript 函数,包括

$(document).ready(function() {
    console.log('foo');
    $("searchButton").click(function() {
        console.log('sup');
            window.location.replace("http://stackoverflow.com");
    });
});

控制台输出 -

foo
4

2 回答 2

5

更改searchButton#searchButton。它是一个 ID,因此必须以 . 为前缀#

于 2013-07-03T20:15:04.210 回答
3

#id 选择器中丢失了。它应该#searchButton代替searchButton

 $("#searchButton").click(function() {
        console.log('sup');
            window.location.replace("http://stackoverflow.com");
    });

也不是说即使你有不正确的选择器$("searchButton"),它没有找到任何元素 jquery 在注册点击处理程序时不会抛出任何错误,不像document.getElementById结果将是未定义的并且访问属性会抛出错误。

于 2013-07-03T20:14:59.070 回答