jquery事件监听与绑定的问题?

<html>
<head lang="zh-CN">
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Hello</title>
    <script src="js/jquery-3.3.1.js"></script>
    <script>
        $(document).ready(function () {
            $("p").click(function () {
                $(this).hide();
            });
        });
    </script>
</head>
<body>
<p>click</p>
</body>
</html>

<p onclick='xx'>,以及<script>p.click=xxp.addEventListener</script>
这三种方式给元素绑定事件,点击之后,调用对应的函数,能理解

但是,使用jquery,点击click之后,jquery是如何随时随地监听到这个事件的呢?

这里并没有显式的代码,监听和绑定事件

监听到一个事件后,是如何将事件绑定到特定的函数呢?

题目描述

题目来源及自己的思路

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

阅读 2.5k
4 个回答

jquery的底层也是调用addEventListener当然,还有包括ie的兼容。

他也是把事件绑在了DOM上

新手上路,请多包涵

谢谢,有没有相关的参考文档,或百度搜索关键词呢,想了解一下这方面的东西。

jQuery底层就是调用的原生的js,只是框架都会制定自己的API以及使用规则,其他的框架、库都是如此。

$("p").click(function () {
    $(this).hide();
});

像这句代码 可以拆解出:选择器、事件、主体
你可以用类似的js原生代码写一遍,你就知道jQuery怎么实现了

$('#btn').on('click', function() {
  console.log('test')
})

对应的call stack

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题