论坛首页 Web前端技术论坛

如何在被调用函数中自动获取调用者的引用

浏览 6952 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-03-28   最后修改:2008-11-19
一个页面中有多个控件需要调用某函数,并且要给该函数传递值。有没有办法在被调用函数中通过某种方式,在不传递参数的情况下,得到调用者的引用,进而取得对应控件的值.

一般的写法是
<script>

function test(object)
{
   alert(object.value);
}

</script>

<input type="button" name="one" value="one" onclick="test(this)">

<input type="button" name="tow" value="tow" onclick="test(this)">


不知道通过什么方式可以实现如下

<script>

function test()
{
   var object =  // 得到调用者的引用 object
   alert(object.value);
}

</script>

<input type="button" name="one" value="one" onclick="test()">

<input type="button" name="tow" value="tow" onclick="test()">


   发表时间:2008-03-28  
JScript  

caller 属性
请参阅
function 语句

应用于:Function 对象
要求
版本2
返回一个对函数的引用,该函数调用了当前函数。

functionName.caller
functionName 对象是所执行函数的名称。

说明
对于函数来说,caller 属性只有在函数执行时才有定义。如果函数是由 JScript 程序的顶层调用的,那么 caller 包含的就是 null 。

如果在字符串上下文中使用 caller 属性,那么结果和 functionName.toString 一样,也就是说,显示的是函数的反编译文本。

下面的例子说明了 caller 属性的用法:

function CallLevel(){
   if (CallLevel.caller == null)
      return("CallLevel was called from the top level.");
   else
      return("CallLevel was called by another function.");
}
要求
版本2

请参阅
function 语句

应用于:Function 对象

0 请登录后投票
   发表时间:2008-03-28  
问题解决了:

function test()
{
var object =event.srcElement // 得到调用者的引用 object
alert(object.value);
}
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics