onclick里面的方法写在$(function(){ })里面就失效,写在外面就生效
<a href='javascript:void(0);' onclick='deleteAtt()'>删除</a>
我一般把方法都写在$(function(){})里面,但是今天用到了onlick,发现写在里面无效!!!
请问一下是什么原因呢???
写在$(function(){ })里面的函数是处在一个局部作用域中的,也就是我们常说的“闭包”,只能由同处在一个闭包内的代码访问到。
你a标签的onclick是写在$(function(){ })这个闭包外面的,当然访问不到了。
既然用了jquery的包 ,直接用jquery的方式绑定事件不就好了
$(function(){
$("a").click(function(){
///todo
});
});
如果非要使用oncLick,还可以把方法挂到window.下。
感觉可能是你语法问题吧,给a一个id标识,如:id="deltab"
<a id="deltab" href='javascript:void(0);' >删除</a>
函数绑定:
$(function(){
$("#deltab").click(function(){
//deleteAtt 的内容
});
})