将参数传递给事件处理程序函数的最佳实践

戴夫0

假设我有一个按钮(实际上是几个按钮),单击该按钮将执行2件事中的1件事。这2件事中的哪一个取决于传递给函数的参数。这将被全部使用,因此我需要放置一个函数...而不是每次都在匿名函数中执行代码。我正在使用jquery,想知道什么是向click-handler函数提供参数和值的最佳方法。另外,我想完整保留对按钮的引用,$(this)好像完全可能。这是我所拥有的:

$(document).ready(function() {
   $('#button1').click({ labelStr: 'Open File' }, doLabel);
   $('#button2').click({ labelStr: 'Close Window' }, doLabel);
});

function doLabel(e) {
  console.log('it is: %o', e.data.labelStr);
  $(this).html(e.data.labelStr);
}

...有效-jsfiddel-但我知道有很多方法可以给这只猫皮。用这种方法可以戳出什么洞?

米萨拉尔

您的代码对我来说看起来不错。您是否正在寻找传递参数并将其直接映射到点击处理程序的参数列表的方法?如果是这样,您可以尝试以下方法:

$(document).ready(function() {
   $('#button1').click(function() {doLabel.call(this, "Open File");});
   $('#button2').click(function() {doLabel.call(this, "Close Window");});
});

function doLabel(labelStr) {
  console.log('it is: %o', labelStr);
  $(this).html(labelStr);
}

如果有多个参数,则可以执行doLabel.call(this, arg1, arg2, ...)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将参数传递给事件处理程序

来自分类Dev

将带有参数的函数传递给事件处理程序

来自分类Dev

如何将参数传递给由事件处理程序触发的函数?

来自分类Dev

JS-通过事件处理程序将参数传递给函数

来自分类Dev

如何将参数传递给事件处理程序?

来自分类Dev

如何将参数传递给事件处理程序?

来自分类Dev

将额外的参数传递给事件处理程序?

来自分类Dev

将额外参数传递给事件处理程序

来自分类Dev

JavaFX:将多个参数传递给事件处理程序

来自分类Dev

将函数的返回值传递给事件处理程序

来自分类Dev

将事件传递给事件处理程序

来自分类Dev

C 程序,将参数传递给信号处理函数?

来自分类Dev

将状态道具传递给onClick函数是否是最佳实践?

来自分类Dev

具有多个事件的jQuery .on()方法-将参数传递给事件处理函数

来自分类Dev

将事件处理程序作为参数传递

来自分类Dev

如何将事件和其他参数传递给点击处理程序

来自分类Dev

将参数传递给Ember把手帮助器中的事件处理程序

来自分类Dev

将参数传递给Ember把手帮助器中的事件处理程序

来自分类Dev

尝试将参数传递给事件处理程序时,EventArgs始终具有相同的值

来自分类Dev

如何将流星模板助手作为参数传递给流星事件处理程序?

来自分类Dev

如何将异步函数值传递给事件处理程序

来自分类Dev

将其他参数传递给事件处理程序?

来自分类Dev

Python瓶:如何将参数传递给函数处理程序

来自分类Dev

C#在运行时绑定事件时将附加参数传递给事件处理程序

来自分类Dev

如何将函数传递给组件以处理拖动事件

来自分类Dev

如何将道具传递给事件处理程序

来自分类Dev

是否可以将指令以角度传递给事件处理程序?

来自分类Dev

将带参数的函数传递给信号处理程序?

来自分类Dev

将额外的参数传递给Express中的路由处理程序

Related 相关文章

  1. 1

    将参数传递给事件处理程序

  2. 2

    将带有参数的函数传递给事件处理程序

  3. 3

    如何将参数传递给由事件处理程序触发的函数?

  4. 4

    JS-通过事件处理程序将参数传递给函数

  5. 5

    如何将参数传递给事件处理程序?

  6. 6

    如何将参数传递给事件处理程序?

  7. 7

    将额外的参数传递给事件处理程序?

  8. 8

    将额外参数传递给事件处理程序

  9. 9

    JavaFX:将多个参数传递给事件处理程序

  10. 10

    将函数的返回值传递给事件处理程序

  11. 11

    将事件传递给事件处理程序

  12. 12

    C 程序,将参数传递给信号处理函数?

  13. 13

    将状态道具传递给onClick函数是否是最佳实践?

  14. 14

    具有多个事件的jQuery .on()方法-将参数传递给事件处理函数

  15. 15

    将事件处理程序作为参数传递

  16. 16

    如何将事件和其他参数传递给点击处理程序

  17. 17

    将参数传递给Ember把手帮助器中的事件处理程序

  18. 18

    将参数传递给Ember把手帮助器中的事件处理程序

  19. 19

    尝试将参数传递给事件处理程序时,EventArgs始终具有相同的值

  20. 20

    如何将流星模板助手作为参数传递给流星事件处理程序?

  21. 21

    如何将异步函数值传递给事件处理程序

  22. 22

    将其他参数传递给事件处理程序?

  23. 23

    Python瓶:如何将参数传递给函数处理程序

  24. 24

    C#在运行时绑定事件时将附加参数传递给事件处理程序

  25. 25

    如何将函数传递给组件以处理拖动事件

  26. 26

    如何将道具传递给事件处理程序

  27. 27

    是否可以将指令以角度传递给事件处理程序?

  28. 28

    将带参数的函数传递给信号处理程序?

  29. 29

    将额外的参数传递给Express中的路由处理程序

热门标签

归档