JavaScript的 onclick 事件是如何调用jquery 方法的

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

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

Uncaught ReferenceError abc function is not defined 错误提示
在$(document).ready(function(){})中不能调用。但是将方法写在外面即可调用

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

能够弹出val值

====================================

**那么js和jquery混着在一起了。这样写会有什么问题?
$("#abc").val() 和原生的JavaScript 和区别在哪里?
**

阅读 23.7k
评论
    2 个回答
    • 4.3k

    $(document).ready(function(){})中不能调用,但是将方法写在外面即可调用。原因很简单。因为当你把abc写在那个作为ready的参数的匿名函数里的时候,abc这个变量的作用域也仅限于那个匿名函数里。那个匿名函数之外自然无法使用 abc 这个变量。

    至于第二个问题。无非就是调用 jQuery 这个 library 的 $ 方法 和 val 方法而已。jQ 对这两个函数的实现无非也就是再去 call 原始的 JavaScript DOM 方法。

      相似问题
      推荐文章