Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在单击处理程序中调用javascript函数_Javascript_Jquery - Fatal编程技术网

无法在单击处理程序中调用javascript函数

无法在单击处理程序中调用javascript函数,javascript,jquery,Javascript,Jquery,我有一个类似这样的div,它是通过ajax加载的: <div id="container"> <a href="#" class="easyui-linkbutton submit_data">Click here to submit</a> </div> 在我有div的同一个文件中,我有这样一个脚本: <script> $(function(){ $('#container').on('click

我有一个类似这样的div,它是通过ajax加载的:

<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','a.submit_data',函数(e)上{
e、 预防默认值();
警报(test());
});
功能测试()
{
返回“这是一个测试”;
}
});
我遇到的问题是,当我像上面那样在click事件的回调中调用我的函数
test()
时,我得到了错误
uncaughttypeerror:undefined不是一个函数,当我单击我的按钮时(因此我甚至没有得到警报)。但是,如果我在click处理程序之外调用我的
test()
函数,一切都会按预期工作

有人知道为什么会这样吗


谢谢你这有帮助吗?我不确定你到底在找什么。我清理了脚本和单击事件

jQuery

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

var myFunction = function(){
  return 'This is a test';
}
HTML
submit_data
类更改为
submit data
,以改进选择器约定

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


不可复制:它使用jquery 1.10.1在小提琴中工作。检查您的浏览器控制台,查看jquery 2.x是否也存在任何错误(假设浏览器支持)是否有任何其他事件侦听器连接到此元素?您的脚本和OP的脚本之间有什么区别?