2015-04-21 45 views
-2

我目前正在關注一個教程,本教程中的人員將css,html和jquery全部編碼在一個文件中。我把它們分成獨立的文件。我的問題是調用函數時教程中的代碼,而我的代碼不是,即使代碼完全相同。下面是我的一些代碼調用jquery函數不能正常工作

//Jquery File 

function username(){ 
    $("#container").html("<span class = 'bot'>Chatbot: </span>Hello, what is your name?"); 
} 


$(function(){ 

username(); 

    $("#textbox").keypress(function(event){ 

........ 

HTML文件

<div id = "container"> 

</div> 

<div id = "controls"> 
..... 

教程代碼

<script type="text/javascript"> 
function username(){ 
    $("#container").html("<span class = 'bot'>Chatbot: </span>Hello, what is your name?"); 
} 

$(function(){ 

    username(); 

    $("#textbox").keypress(function(event){ 

....... 

這是完全一樣的,但由於某種原因,我的代碼不能正常工作,我測試了兩者。我知道我鏈接到正確的jQuery文件,因爲我的其他功能正常工作沒有問題。

完整的HTML JQuery的聊天機器人教程

jQuery的聊天機器人訴1.0教程

<div id = "container"> 

</div> 

<div id = "controls"> 
    <textarea id = "textbox" placeholder = "Enter your message here..."></textarea> 
    <button id = "send">Send</button> 
    <br> 
    <input checked type = "checkbox" id = "enter"/> 
    <label>Send on enter</label> 
</div> 

    <script type="text/javascript" src="jquery-1.11.2.min.js"></script> 
    <script type="text/javascript" src="chatbot.js"></script> 
</body> 

完全JQuery的文件

function username(){ 
    $("#container").html("<span class = 'bot'>Chatbot: </span>Hello, what is your name?"); 
} 



$(function(){ 

username(); 

    $("#textbox").keypress(function(event){ 
     if (event.which == 13){ 
      if ($("#enter").prop("checked")){ 

       $("#send").click(); 
       event.preventDefault(); 

      } 

     } 

    }); 
     }); 


    $("#send").click(function(){ 

     var username = "<span class ='username' = >You: </span>"; 

     var newMessage = $("#textbox").val(); 

     $("#textbox").val(""); 

     var prevState = $("#container").html(); 

     if (prevState.length > 3){ 
      prevState = prevState + "<br>"; 
     } 

     $("#container").html(prevState + username + newMessage); 

     $("#container").scrollTop($("#container").prop("scrollHeight")); 

    }); 
+1

您是否在控制檯窗口中看到任何錯誤? – Sushil

+2

你可以告訴我們的HTML代碼 –

+0

有時當調用一個名稱與輸入名稱相同的函數時,它將無法正常工作,並且不會顯示任何錯誤 –

回答

-2

您可能在調用之前的代碼中有錯誤。試試:

$(function(){ 
    alert('Debug me 2'); 
    username(); 
    alert('Debug me 2'); 
... 

看看會發生什麼。