无法在单击处理程序中调用javascript函数
我有一个类似这样的div,它是通过ajax加载的:无法在单击处理程序中调用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 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的脚本之间有什么区别?