2013-11-13 2 views
0

По какой-то причине я не могу заставить это событие щелчка работать при нажатии любого элемента, хотя он работает, когда я нажимаю на тело. Я знаю, что идентификатор правильно назначен, потому что CSS также отлично работает. Вот JS:Почему в Jade не работает мое внешнее событие jQuery click()?

$('h2').click(function() { 
    alert("h2 clicked."); 
});//DOES NOT WORK 

$('#whatever').click(function() { 
    alert("Whatever clicked."); 
});//DOES NOT WORK 

/* 
$('body').click(function() { 
    alert("Body clicked."); 
}); 
*/ //THIS WORKS WHEN UNCOMMENTED 

console.log('thank you!'); //THIS WORKS 

А вот нефрит файл:

extends ../layout 

block content 
    h2= post.title 
    #whatever 
    p= post.body 
    span= post.created.toGMTString() 
    p by #{post.author.fullname} 
    br 
    br 
    div 
    a(href="/post/edit/" + post.id) Edit 
    | | 
    a(href="/post/remove/" + post.id) Delete 
    .comments 
    ul 
     each comment in comments 
     li 
      p.text= comment.text 
      p.author= comment.author 
    if session.isLoggedIn 
     form(method='post', action="/post/comment/" + post.id) 
     textarea(name='text') 
     input(type='submit', value='Save') 

и здесь другой файл нефрит участвует:

html5 
html 
    head 
    title= pageTitle 
    link(rel='stylesheet', type='text/css', href='/stylesheets/styles.css') 
    //script(type='text/javascript', src='/js/jquery-1.10.2.min.js') 
    script(type='text/javascript', src='http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js') 
    script(type='text/javascript', src='/js/scriptures.js') 

body 
    header 
     h1= pageTitle 
    a(href="/") Home 
    section.login 
     ul 
     if session.isLoggedIn 
      li 
      a(href="/logout") Logout 
     else 
      li 
      a(href="/login") Login 
      li 
      a(href="/signup") Create Account 
    section.content 
     block content 
+0

ответ http://stackoverflow.com/questions/3953611/am-i-going-crazy-jquery-click-doesnt-seem-to-work?rq=1 Может кто-нибудь exlain к мне зачем мне document.ready()? – Squirrl

+1

, потому что готовый документ - это способ разделения времени загрузки между html и js. Все элементы dom загружаются, когда документ готов, поэтому вы можете безопасно связывать обработчики событий. Вот как я это объясняю, но я не специалист по глубокому знанию. Если привязка выполняется, когда этот элемент dom не загружен, ваше связывание просто не работает. – Huangism

ответ

Смежные вопросы