2013-10-28 111 views
1

好吧,這件事讓我發瘋。我有一個簡單的項目,我使用這個mobile bootstrap主題,這個text-to-speechjquery手機功能不能正常工作==頁面刷新?

每當我的函數有錯誤,頁面只是刷新自己。通過這種方式,我永遠不會從控制檯讀取任何輸出。

這裏是我的代碼:

<script> 
    $(document).ready(function() {  
     $('#input-submit').click(function() { 
      var text = $('#input-box').val(); 
      console.log(text); 
      for (var i = 0;i < text.length; i++){ 
       alert('test'); 
       meSpeak.speak(text.charAt(i)); 
      } 
     }); 
    }); 
</script> 

我想我的應用程序大聲無論用戶在填寫拼寫功能才能正常工作,直到meSpeak.speak(text.charAt(i));線。當我輸入3個字符的單詞時,我收到3條警報,然後頁面只是刷新自己。

它爲什麼刷新時有什麼不工作?我想在不使用警報的情況下從控制檯讀取輸出。另外,有誰知道爲什麼我不能使用這樣的meSpeak.speak(text.charAt(i));

+3

打你不阻止提交按鈕「提交」該頁面,並且由於您很可能沒有設置目的地,因此它將提交到相同的位置,導致頁面刷新。 –

+0

如何防止它「提交」呢?按鈕中沒有真正的「鏈接」屬性,並且e.preventDefault不適用於我 – Forza

+2

嘗試返回「false」。這通常似乎適用於取消表單提交。 – jonhopkins

回答

0

您並未阻止「提交」頁面的提交按鈕,而且由於您很可能沒有設置目的地,因此它將提交到相同的位置,導致頁面刷新。

防止click事件可以jQuery的通過return荷蘭國際集團false功能的年底完成

$('#input-submit').click(function() { 
    /* etc */ 
    return false; 
}); 

Demo