日期:2014-05-16  浏览次数:20281 次

onclick 为什么调用 jquery function
本帖最后由 csdroot 于 2013-11-08 16:15:36 编辑
为什么在$(document).ready(function(){})里时onclick 不可以调用而在外面可以调用。
但是onclick是JavaScript的方法。


情况一无法 提示 Uncaught ReferenceError abc function is not defined

<input type='button' id='abc' value='-' title='测试1' onclick='abc()'>

$(document).ready(function(){
          function abc(){
               
             alert(1111)          
          }
      })


情况2 能调用-------这么操作是正确的吗

<input type='button' id='abc' value='-' title='测试1' onclick='abc()'>
 function abc(){
               
             alert($("#abc").val())          
          }

jquery JavaScript html web

------解决方案--------------------
为button设置onclick属性的话 浏览器会在全局中查找对应的函数 情况2就是将函数声明在全局中
情况1则是将函数声明在了$(function(){});里面函数的作用域中 外部函数数访问不到的 具体可以参考一下作用域那一块的知识 个人理解 仅供参考
------解决方案--------------------
你了解一下闭包。如果想调用可这样写呀:
<input type='button' id='abc' value='-' title='测试1'>
<script type="text/javascript">
    $(document).ready(function(){
        function abc(){
            alert(1111)
        }
        $("#abc").click(function(){
            abc();
        })
    })
</script>