如何在不传递此信息的情况下查找被调用的元素
How to find invoked element without passing this
我有一个Javascript函数,它在许多页面上被多次调用。
在这个函数中,我必须检查这个函数调用的元素。
我知道一个通过函数调用传递"this"的方法。我不能用那种方法。因为我只在一个模块上工作。还有许多其他模块使用此功能。因此,如果我更改函数定义,它将为其他模块/页面抛出错误。
是否有其他方法可以在不传递"this"或不更改函数定义的情况下找到被调用的元素。
您确定它会抛出错误吗?调用javascript函数而不传递所有参数是完全合法的。
传递过多的参数也是合法的,您可以使用arguments
变量来访问它们。
您将不必修改functions
签名。您可以传递参数并使用arguments
变量访问它们。
例如
<a href="#" onclick='foo()' id='one'>One</a>
<a href="#" onclick='foo(this)' id='two'>Two</a>
<script>
function foo() {
if(arguments.length==1)
{
alert("Called from element with id "+arguments[0].id);
}
else{
alert("No element specified")
}
}
</script>
演示
相关文章:
- 如何在未直接触发的情况下停止事件
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- 如何在不传递此信息的情况下查找被调用的元素
- 如何在不使用 ID 的情况下查找元素
- 如何在不依赖 javascript 中的 id、类或内容的情况下查找和检索节点位置
- 在没有 Math.min 的情况下查找数组中的最小值
- 为什么JavaScript在第二种情况下不查找全局范围
- 在不使用文件属性的情况下在javascript中查找图像的大小,因为它在eclipse中不受支持
- 在不使用排序的情况下查找数组中的第 n 个最大数字
- 在给定一组 6 位数字的情况下查找每个可能的“非重复”组合
- 在没有 jQuery 的情况下查找最近的元素
- 字段onchange是否可以在没有用户输入的情况下查找更改
- Jquery:如何在没有提交人的情况下查找输入框的值
- Firebase身份验证服务-在不登录的情况下从电子邮件中查找uid
- 如何在不使用API的情况下通过IP地址查找位置
- imacros:在不按下按钮的情况下,“查找框架”按钮处于
- Regex在没有www.的情况下查找域名
- 在没有JQuery的情况下搜索DOM查找特殊的html标签
- 在不使用match()的情况下查找精确的字符串
- 如何在不使用array_count_values的情况下查找数组中的重复值