javascript - 控制 jQuery 按钮代理函数中的上下文

标签 javascript jquery

我需要隔离在 jQuery 中单击按钮时附加到按钮的值。但是,我还需要将点击处理程序包装在 $.proxy(...) 中,以便为后续函数调用维护上下文:

$('#' + tab.buttonId).click($.proxy(function() {
   this.pop($(this).val());
}, this));
  • this.pop 需要应用于对象
  • $(this).val() 需要来自按钮

如何使每次调用 this 引用正确的内容?

最佳答案

您可以使用e.target它将指向按钮对象:

$('#' + tab.buttonId).click($.proxy(function(e) {
   this.pop($(e.target).val());
}, this));

关于javascript - 控制 jQuery 按钮代理函数中的上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31416404/

相关文章:

javascript - Protractor AngularJS 等待元素显示并执行一些操作

javascript - 有没有办法在nodejs中加载特定模块?

javascript - Javascript 中的 setInterval 函数单元测试问题

javascript - 将网页 B 的部分插入到网页 A

jquery - 滚动时修复导航菜单

javascript - 由于 FIREFOX 6.0 中的 QUICK FIND 自动启动,键盘快捷键在网站上不起作用

javascript - 比较javascript中的执行上下文堆栈

jquery - 高效的 DOM 选择技术 - 按属性选择是否很慢?

javascript - 如何更改 src 中 ' + some +' 元素的值

javascript - 如果拖放太快,则不会调用可排序的放置处理程序