javascript - 如何使用 jQuery 设置单个项目的回调

标签 javascript jquery this

我有一个 js 函数,到目前为止,它始终是单击事件的回调,因此严重依赖“this”伪变量。 “this”是一个

  • 元素。

    但是,我现在遇到的情况是,有时会使用更复杂的路线触发它,在这种情况下,“this”是一个完全不同的元素。但是,在调用该函数之前,我可以找到相关的

  • ,但是有没有办法可以将其作为“this”输入?我想过在
  • 上使用 .each(),但它不适用于单个元素。

    编辑事实证明,each()确实适用于单个元素..错误结果是其他原因。

    尚未删除此问题,因为它可能对其他人有用

  • 最佳答案

    您正在寻找call方法:

    function onClick() {
        console.log(this); // will be the #test element in both cases
        return false;
    }
    
    $('#test').click(onClick);
    
    $('#test2').click(function() {
        onClick.call($('#test')[0]);
        return false;
    });
    

    尽管这也可以通过 apply 实现:

    onClick.apply($('#test')[0]);
    

    [0] 是传递实际 DOM 元素而不是 jQuery 包装集所必需的。

    关于javascript - 如何使用 jQuery 设置单个项目的回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1064646/

    相关文章:

    c# - 这个和base的区别

    javascript - “this”关键字如何工作?

    javascript - 重构庞大的 JavaScript 项目

    javascript - JSON编码数组

    javascript - 如何使用 Promise 和 forEach 循环遍历 mongoDB?我想填充一个数组

    javascript - 滚动时更改 CSS(在控制台和 JSFiddle 中工作,但不在我的 HTML 中工作?)

    javascript - 单个表单上的两个提交按钮

    javascript - 在 JavaScript 中使用 this.id ?

    javascript - 无需 jQuery 即可获得 innerWidth() 等效项

    javascript - JavaScript 可以与不同的服务器通信吗?