簡體   English   中英

無法在點擊處理程序中調用javascript函數

[英]cannot call javascript function inside click handler

我有一個像這樣的通過ajax加載的div:

<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>

我遇到的問題是,當我像上面一樣在click事件的回調中調用函數test() ,出現錯誤Uncaught TypeError: undefined is not a function單擊按鈕時Uncaught TypeError: undefined is not a function (所以我什至沒有得到我的提醒)。 但是,如果我在點擊處理程序之外調用test()函數,那么一切都會按預期進行。

請問有人知道為什么會這樣嗎?

謝謝

這有幫助嗎? 我不確定您在尋找什么。 我清理了腳本和click事件。

Codepen草繪

jQuery的

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

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

HTMLsubmit_data類更改為submit_data submit-data以實現更好的選擇器約定。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM