2013-08-20 84 views
0

我有這樣一個div是通過AJAX加載:不能打電話點擊處理程序中的JavaScript功能

<div id="container"> 
    <a href="#" class="easyui-linkbutton submit_data">Click here to submit</a> 
</div> 

在其中我有DIV相同的文件,我有一個這樣的腳本:

<script> 
    $(function(){ 
     $('#container').on('click', 'a.submit_data', function(e){ 
      e.preventDefault(); 
      alert(test()); 
     }); 

     function test() 
     { 
      return 'This is a test'; 
     } 
    }); 
</script> 

我遇到的問題是當我像上面那樣在點擊事件的回調函數中調用我的函數test()時,我點擊我的按鈕(所以我甚至沒有得到我的警報)時得到錯誤Uncaught TypeError: undefined is not a function。但是如果我在點擊處理程序之外調用我的test()函數,那麼一切都按預期工作。

DES有人知道爲什麼會發生這種情況嗎?

謝謝

+5

不可再生:http://jsfiddle.net/PP7Pj/ – zerkms

+0

它在撥弄使用jquery 1.10.1 –

+0

檢查您瀏覽器的控制檯,看看是否有 –

回答

-1

這是否對您有幫助?我不確定你在找什麼。我清理了腳本和點擊事件。

Codepen sketch

jQuery的

$('.submit-data').on('click', function(event){ 
    event.preventDefault(); 
    alert(myFunction()); 
}); 

var myFunction = function(){ 
    return 'This is a test'; 
} 

HTML改變了submit_datasubmit-data更好的選擇約定。

<div id="container"> 
    <a href="#" class="easyui-linkbutton submit-data">Click here to submit</a> 
</div> 
+1

你和OP的腳本有什麼區別? – zerkms

相關問題