【问题标题】:How to use the same function for multiple HTMLElement events in javascript?如何在 javascript 中对多个 HTMLElement 事件使用相同的函数?
【发布时间】:2012-01-19 12:22:45
【问题描述】:

我有 2 个按钮。我希望能够单击其中一个并仅更改他的 value 属性。下面的代码 sn-p 有效,但仅适用于第二个对象。我已经尝试过 (obj1|| obj2) 但这也不起作用。请帮忙

(obj1,obj2).onclick = function this_test (){
    this.value = "new value"
};

【问题讨论】:

  • 顺便说一下,您的示例仅适用于第二个对象的原因是逗号运算符会计算两边并丢弃左侧的结果。

标签: javascript events function object this


【解决方案1】:
var clickFunction = function() {
    this.value = "new value";
};

obj1.onclick = clickFunction;
obj2.onclick = clickFunction;

Example showing this representing the clicked item,即使他们共享功能。

【讨论】:

  • 谢谢。所以没有办法回避这个 obj1.onclick = clickFunction; obj2.onclick = clickFunction;并将其写在一行中?
  • 是的,有可能做到这一点,obj1.onclick = obj2.onclick = clickFunction;,但这确实是一种糟糕的方式,为了让代码易于阅读而多写一行是非常值得的。
猜你喜欢
  • 2017-07-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-24
  • 2014-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多