我有一个简单的JavaScript函数:
function f1()
{
alert("HI");
}
我从两个地方调用相同的Javascript函数,比如说:
<input type="submit" id="btn1" onclick="f1()"/>
<input type="submit" id="btn2" onclick="f1()"/>
如何找到调用此函数的目标元素?
编辑:如何检查元素是按钮还是其他?
答案 0 :(得分:4)
HTML
<input type="submit" id="btn1" onclick="f1(this)"/>
<input type="submit" id="btn2" onclick="f1(this)"/>
的js
function f1(el) {
console.log(el)
}
演示:Fiddle
答案 1 :(得分:2)
function f1(element)
{
alert($(element).attr("id"));
if ($(element).is(":button")) {
alert("Im button");
}
}
<input type="submit" id="btn2" onclick="f1(this)"/>
答案 2 :(得分:2)
尝试此
<input type="submit" id="btn1" onclick="f1(this)"/>
<input type="submit" id="btn2" onclick="f1(this)"/>
和控制台一样
function f1(comp)
{
console.log(comp);
}
答案 3 :(得分:1)
将this
添加到函数调用
<input type="submit" id="btn1" onclick="f1(this)"/>
<input type="submit" id="btn2" onclick="f1(this)"/>
将你的js修改为
function f1(el)
{
alert(el.nodeName) ; // alerts type of HTML element
}
el
将包含对元素的引用
编辑:添加了检测HTML元素类型的代码
答案 4 :(得分:1)
最简单的方法:
<input type="submit" id="btn1" onclick="f1(this)"/>
<input type="submit" id="btn2" onclick="f1(this)"/>
JS:
function f1(btn)
{
alert("Hi from " + btn);
}
答案 5 :(得分:1)
如果您已经在页面上使用jquery,也许您应该尝试提供您想要定位共享类的所有元素,然后检测点击次数?
<input class="same_kind_buttons" type="submit" id="btn1" />
<input class="same_kind_buttons" type="button" id="btn2" />
<script>
$(".same_kind_buttons").click(function() {
console.log($(this).attr("type"));
console.log(this.id);
});
</script>
当然,如果您不在页面上使用jquery,则不应仅为该功能包含它,您可以使用:
<input type="submit" id="btn1" onclick="f1(this);"/>
<input type="submit" id="btn2" onclick="f1(this);" />
<script>
function f1(elem) {
console.log(elem.tagName);
console.log(elem.id);
}
</script>