javascript - jQuery - 将 id 元素传递给非匿名回调函数而不使用匿名函数

标签 javascript jquery

我正在尝试将元素的 id 传递给 storePair

$("#someid").click(storePair($(this).val(),$(this).attr("id"));

使用$(this)不起作用。没有值(value)。

另一个stackoverflow post建议我使用匿名函数作为 StorePair(val,id) 的包装器,即

$("#someid").click(function(){storePair($(this).val(),$(this).attr("id")});

这似乎有点迂回...有没有办法调用StorePair并传递值和id而不使用anon函数?

最佳答案

您可以在 storePair 函数内部使用 this 来获取您想要的内容,如下所示:

function storePair() {
  var val = $(this).val();
  var id = this.id;
  //do stuff
}

然后像这样绑定(bind)它:

$("#someid").click(storePair);

或者,使用您已有的匿名函数,无论是否迂回,这就是它的工作方式:)

关于javascript - jQuery - 将 id 元素传递给非匿名回调函数而不使用匿名函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3462880/

相关文章:

php - 像在 Javascript 中一样重影 PHP 函数

javascript - 在 JavaScript/jQuery 中将 DOM 元素设置为全局变量是一种不好的编程习惯吗?

javascript - 将秒转换成hh :mm:ss format using moment. js

javascript - 即使缺少键也遍历 JSON 对象

javascript - 如何使用 JQuery 中的 anchor 标记从其他页面选择特定选项卡?

javascript - HTML5 音频在某些浏览器中无法工作

javascript - 找不到错误 - 解雇次数太多

javascript - 如何使用 Angular js将一个页面的数据传递到另一个页面?

javascript - 第一次使用 node.js - "ReferenceError: node is not defined"

javascript - 在刷新之前不会使用 AJAX 进行更新?