我怎么知道谁是js函数的调用者?

时间:2016-03-05 15:47:44

标签: javascript

我有一个按钮调用的方法,由于某种原因我无法修改。

<button onclick="onMyButtonClick()">button1</button>
<button>button2</button>

function onMyButtonClick() {
  // how to know who is a caller?
}

如何知道谁是来电者?

更新:

<button onclick="onMyButtonClick(123)">button1</button>
<button>button2</button>

function onMyButtonClick(a, b) { // b is undefined
  // how to know who is a caller?
}

3 个答案:

答案 0 :(得分:1)

您可以使用javascript活动。

event.srcElement

给你调用该函数的dom元素。

见这个例子:

&#13;
&#13;
function onMyButtonClick() {
  alert(event.srcElement.innerHTML);
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button onclick="onMyButtonClick()">button1</button>
<button onclick="onMyButtonClick()">button2</button>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

见这个例子:

arguments.callee.callerevent.target

https://jsfiddle.net/cb3fcbL6/1

答案 2 :(得分:0)

this作为参数传递给函数。

<强> HTML

<button onclick="onMyButtonClick(this)">button1</button>

<强>的JavaScript

function onMyButtonClick(button) {
    //button is the DOM element that called the function
}