多次调用Javascript函数

时间:2013-05-22 11:24:45

标签: javascript jquery

我有一个简单的JavaScript函数:

function f1()
{
    alert("HI");
}

我从两个地方调用相同的Javascript函数,比如说:

<input type="submit" id="btn1" onclick="f1()"/>

<input type="submit" id="btn2" onclick="f1()"/>

如何找到调用此函数的目标元素?

编辑:如何检查元素是按钮还是其他?

6 个答案:

答案 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>