鍍金池/ 問(wèn)答/HTML/ jquery事件監(jiān)聽(tīng)與綁定的問(wèn)題?

jquery事件監(jiān)聽(tīng)與綁定的問(wèn)題?

<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>
這三種方式給元素綁定事件,點(diǎn)擊之后,調(diào)用對(duì)應(yīng)的函數(shù),能理解

但是,使用jquery,點(diǎn)擊click之后,jquery是如何隨時(shí)隨地監(jiān)聽(tīng)到這個(gè)事件的呢?

這里并沒(méi)有顯式的代碼,監(jiān)聽(tīng)和綁定事件

監(jiān)聽(tīng)到一個(gè)事件后,是如何將事件綁定到特定的函數(shù)呢?

題目描述

題目來(lái)源及自己的思路

相關(guān)代碼

// 請(qǐng)把代碼文本粘貼到下方(請(qǐng)勿用圖片代替代碼)

你期待的結(jié)果是什么?實(shí)際看到的錯(cuò)誤信息又是什么?

回答
編輯回答
命多硬

jquery的底層也是調(diào)用addEventListener當(dāng)然,還有包括ie的兼容。

他也是把事件綁在了DOM上

2017年10月25日 07:07
編輯回答
情未了

jQuery底層就是調(diào)用的原生的js,只是框架都會(huì)制定自己的API以及使用規(guī)則,其他的框架、庫(kù)都是如此。

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

像這句代碼 可以拆解出:選擇器、事件、主體
你可以用類(lèi)似的js原生代碼寫(xiě)一遍,你就知道jQuery怎么實(shí)現(xiàn)了

2018年9月18日 03:24
編輯回答
鐧簞噯

謝謝,有沒(méi)有相關(guān)的參考文檔,或百度搜索關(guān)鍵詞呢,想了解一下這方面的東西。

2018年3月17日 17:42
編輯回答
茍活
$('#btn').on('click', function() {
  console.log('test')
})

對(duì)應(yīng)的call stack

clipboard.png

2017年2月19日 14:01