2014-09-24 532 views
0

我在JSFiddle上發現了一個簡單的JQuery代碼,但是當我在eclipse中嘗試它時,它並沒有執行它應該做的事。我多次檢查過它仍然無法找到它無法正常工作的原因。有任何想法嗎?代碼適用於JSFiddle,但不適用於本地文件

的HTMl

<textarea id="txt" rows="15" cols="70">There is some text here.</textarea> 
<input type="button" id="btn" value="OK" /> 

JQuery的

jQuery("#btn").on('click', function() { 
    var caretPos = document.getElementById("txt").selectionStart; 
    var textAreaTxt = jQuery("#txt").val(); 
    var txtToAdd = "stuff"; 
    jQuery("#txt").val(textAreaTxt.substring(0, caretPos) + txtToAdd + textAreaTxt.substring(caretPos)); 
}); 

JSFiddle Link

+1

具有u進口必要的jQuery文件嗎?(這是沒有必要的jsfiddle進口) – PSR 2014-09-24 06:24:10

+0

你應該包裝在DOM準備 – 2014-09-24 06:31:31

回答

0

有三件事情需要注意:

  1. 必須加載jQuery的頁面上。就像這樣:
  • 了jQuery的lib位置腳本之前必須加載。

  • 你的代碼必須被包裝使用$(function(){}),或者你的代碼在DOM加載後加載。

  • +0

    哦感謝的代碼,我沒有注意到功能必須裹以$(函數() {}) – 2014-09-24 23:05:19

    0

    通常在本地測試的時候,因爲當你只是在瀏覽器中打開該文件不執行的JavaScript存在問題。

    你有本地的網絡服務器設置,如wamp/mamp/xampp嗎?如果你以這種方式訪問​​你的文件,它應該工作。

    我不知道eclipse是否內置了Web服務器,例如NetBeans。

    要進一步找到問題的根源,應該啓用控制檯以查看是否輸出任何錯誤。

    在Chrome中按CTRL + SHIFT + J並重新加載頁面。

    相關問題