2013-05-22 32 views
1

我有一个简单的JavaScript函数:调用JavaScript函数多次

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

我打电话从两个地方同一个JavaScript功能,说:

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

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

如何找到目标元素,其称这个函数?

编辑:如何检查元素是否是一个按钮或其他?

+0

如果你使用jQuery,有什么意义内嵌的JavaScript?使用'$(#btn1).click(...)'。 – georg

回答

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

2
function f1(element) 
{ 
    alert($(element).attr("id")); 

    if ($(element).is(":button")) { 
     alert("Im button"); 
    } 
} 

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

如何检查元素是否是按钮或其他? – Pearl

+0

更新了答案 –

+0

查看我的回答 –

2

试试这个

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

和控制台一样

function f1(comp) 
{ 
    console.log(comp); 
} 
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将包含一个参考元件

EDIT:添加代码以检测HTML元素的类型

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); 
} 
1

如果您已经在y上使用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>