javascript - jQuery 中的 function() 是什么意思?这和 $(this) 有什么区别

标签 javascript jquery jquery-selectors

问题1

我刚刚开始学习 jQuery,让我困惑的一件事是其中带有参数的 function(),即:function(e)

[示例1]

 $("#rating a").click(function(e){
     // stop normal link click
     e.preventDefault();
 }

function(e) 中的 e 是什么?

[示例2]

$.post("test.php", function(data) {
    alert("Data Loaded: " + data);
});

你怎么知道数据是什么?我假设 data 与示例 1 中的 e 不同。

我很困惑为什么 function() 在不同的场景中是不同的......

<小时/>

问题 2 由于我们正在讨论基本的 jQuery,所以这里有另一个 jQuery 问题。 this$(this) 有什么区别?

[示例3]

$(document).ready(function() {
 // use this to reset several forms at once
$("#reset").click(function() {
    $("form").each(function() {
        this.reset();
    });
});

[示例 4]

   $("a").hover(function(){
       $(this).parents("p").addClass("highlight");
   },function(){
       $(this).parents("p").removeClass("highlight");
   });

});

最佳答案

function(e) -> this 将事件对象作为参数传递。如果没有 e,您就无法访问事件对象。

“this”是与您正在执行的操作相关的对象。如果你像 $(this) 一样包装“this”,那么你就可以访问 jQuery 提供的所有扩展。更清楚地说,“this”通常是一个 DOM 对象,$(this) 是一个 jQuery 对象。

关于javascript - jQuery 中的 function() 是什么意思?这和 $(this) 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6447739/

相关文章:

javascript - 浏览器 URL 编码的 XSS 攻击是否容易受到攻击?

javascript - 使用 React 和 firereact 从 Firebase 中删除节点

javascript - 切换单个表同时隐藏其他表

完整渲染事件的 jQuery 模板

jquery - 如何按类查找元素并获取值?

javascript - 单击 $(document) 时如何使用 jquery 隐藏/关闭 div?

javascript - jQuery:删除结束标记

javascript - 谷歌图表仅在页面刷新时加载

php - 使用 json_encode() 时删除数组索引引用

javascript - 选择没有值属性的所有单选按钮的最安全方法